From 3eb017d032e0c542401ea202f7a62b7c7ddcd498 Mon Sep 17 00:00:00 2001 From: Jason Maskell Date: Mon, 16 May 2016 15:00:36 +0200 Subject: Added the test_d3d11 app to the solution. Not compiling yet, mostly a paranoia commit. --- compiler/cmake/NvWaveWorks.cmake | 20 +++-- compiler/cmake/test_d3d11.cmake | 181 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 192 insertions(+), 9 deletions(-) create mode 100644 compiler/cmake/test_d3d11.cmake (limited to 'compiler') diff --git a/compiler/cmake/NvWaveWorks.cmake b/compiler/cmake/NvWaveWorks.cmake index 6ca3015..d34f42a 100644 --- a/compiler/cmake/NvWaveWorks.cmake +++ b/compiler/cmake/NvWaveWorks.cmake @@ -2,8 +2,6 @@ # Build NvWaveWorks (PROJECT not SOLUTION) # -SET(GW_DEPS_ROOT $ENV{GW_DEPS_ROOT}) - FIND_PACKAGE(CUDA REQUIRED) @@ -122,12 +120,13 @@ SET(DISTRO_INCLUDE_FILES ${DISTRO_INCLUDE_DIR}/GFSDK_WaveWorks_D3D_Util.h ${DISTRO_INCLUDE_DIR}/GFSDK_WaveWorks_GUID.h ${DISTRO_INCLUDE_DIR}/GFSDK_WaveWorks_Types.h + + ${DISTRO_INCLUDE_DIR}/GFSDK_WaveWorks_Quadtree.fxh + ${DISTRO_INCLUDE_DIR}/GFSDK_WaveWorks_Attributes.fxh + ${DISTRO_INCLUDE_DIR}/GFSDK_WaveWorks_Common.fxh ) SET(HLSL_FILES - ${SHADER_SRC_DIR}/Attributes.fxh - ${SHADER_SRC_DIR}/Common.fxh - ${SHADER_SRC_DIR}/Quadtree.fxh ${SHADER_SRC_DIR}/CalcGradient.fx ${SHADER_SRC_DIR}/CalcGradient_SM3.fx @@ -183,11 +182,11 @@ CompileFXToH(${SHADER_SRC_DIR}/Quadtree_SM5_sig.fx ${GEN_SRC_DIR}/Quadtree_SM5_s # NOTE: This does a weird thing. Only the PS command invocation will show in VS. The other one is there, but is in some sort of hidden file. # It can still be seen in the project xml. -CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM4.fx ${GEN_SRC_DIR}/FoamGeneration_ps_4_0.h fx ${SHADER_SRC_DIR} ${GEN_SRC_DIR} ps /Tps_4_0) -CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM4.fx ${GEN_SRC_DIR}/FoamGeneration_vs_4_0.h fx ${SHADER_SRC_DIR} ${GEN_SRC_DIR} vs /Tvs_4_0) +CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM4.fx ${GEN_SRC_DIR}/FoamGeneration_ps_4_0.h fx ${SHADER_SRC_DIR} ${DISTRO_INCLUDE_DIR} ps /Tps_4_0) +CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM4.fx ${GEN_SRC_DIR}/FoamGeneration_vs_4_0.h fx ${SHADER_SRC_DIR} ${DISTRO_INCLUDE_DIR} vs /Tvs_4_0) -CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM3.fx ${GEN_SRC_DIR}/FoamGeneration_ps_3_0.h fx ${SHADER_SRC_DIR} ${GEN_SRC_DIR} ps /Tps_3_0) -CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM3.fx ${GEN_SRC_DIR}/FoamGeneration_vs_3_0.h fx ${SHADER_SRC_DIR} ${GEN_SRC_DIR} vs /Tvs_3_0) +CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM3.fx ${GEN_SRC_DIR}/FoamGeneration_ps_3_0.h fx ${SHADER_SRC_DIR} ${DISTRO_INCLUDE_DIR} ps /Tps_3_0) +CompileFXToH(${SHADER_SRC_DIR}/FoamGeneration_SM3.fx ${GEN_SRC_DIR}/FoamGeneration_vs_3_0.h fx ${SHADER_SRC_DIR} ${DISTRO_INCLUDE_DIR} vs /Tvs_3_0) CompileFXToH(${SHADER_SRC_DIR}/CalcGradient_SM4.fx ${GEN_SRC_DIR}/CalcGradient_ps_4_0.h fx ${SHADER_SRC_DIR} ${GEN_SRC_DIR} ps /Tps_4_0) CompileFXToH(${SHADER_SRC_DIR}/CalcGradient_SM4.fx ${GEN_SRC_DIR}/CalcGradient_vs_4_0.h fx ${SHADER_SRC_DIR} ${GEN_SRC_DIR} vs /Tvs_4_0) @@ -225,6 +224,9 @@ ADD_LIBRARY(WaveWorks ${WW_LIBTYPE} ${DISTRO_INCLUDE_FILES} ${FX_FILES} + +# ${HLSL_FILES} + ${GENERATED_HLSL_FILES} ${GENERATED_CUDA_FILES_1} diff --git a/compiler/cmake/test_d3d11.cmake b/compiler/cmake/test_d3d11.cmake new file mode 100644 index 0000000..9ceb7d3 --- /dev/null +++ b/compiler/cmake/test_d3d11.cmake @@ -0,0 +1,181 @@ +# +# Build test_d3d11 +# + +SET(GW_DEPS_ROOT $ENV{GW_DEPS_ROOT}) + +FIND_PACKAGE(DXUT REQUIRED) +FIND_PACKAGE(FX11 REQUIRED) +FIND_PACKAGE(DirectXTK REQUIRED) + +MESSAGE("FX11 ${FX11_SDK_PATH}") + +SET(TEST_SOURCE_DIR ${PROJECT_SOURCE_DIR}/test/d3d11) +SET(SHARED_CS_DIR ${PROJECT_SOURCE_DIR}/test/client-server) +SET(TL_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) + +IF(TARGET_BUILD_PLATFORM STREQUAL "Windows") + + FIND_PACKAGE(DirectX REQUIRED) + + SET(WW_PLATFORM_INCLUDES + ) + + SET(WW_PLATFORM_SRC_FILES + ) + + + # Use generator expressions to set config specific preprocessor definitions + SET(WW_COMPILE_DEFS + # Common to all configurations + _LIB;NVWAVEWORKS_LIB_DLL_EXPORTS;WIN32; + + $<$:PROFILE;_DEV;> + $<$:NDEBUG;> + ) + + SET(WW_LIBTYPE SHARED) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "PS4") + + SET(WW_PLATFORM_INCLUDES + $ENV{SCE_ORBIS_SDK_DIR}/target/include + ) + + SET(WW_COMPILE_DEFS + + # Common to all configurations + _LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PX_PHYSX_STATIC_LIB; + + $<$:_DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_SUPPORT_PVD=1;> + $<$:NDEBUG;PX_SUPPORT_PVD=0;> + ) + + SET(WW_LIBTYPE STATIC) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "XBoxOne") + SET(WW_PLATFORM_INCLUDES + ) + + # Use generator expressions to set config specific preprocessor definitions + SET(WW_COMPILE_DEFS + + # Common to all configurations + PX_PHYSX_CORE_EXPORTS;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WINAPI_FAMILY=WINAPI_FAMILY_TV_TITLE;PX_PHYSX_STATIC_LIB; + + $<$:_DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_SUPPORT_PVD=1;> + $<$:NDEBUG;PX_SUPPORT_PVD=0;> + ) + + SET(WW_LIBTYPE STATIC) + + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "Unix") +ENDIF() + +SET(APP_FILES + ${TEST_SOURCE_DIR}/ocean_cufft_app.cpp + ${TEST_SOURCE_DIR}/ocean_surface.cpp + ${TEST_SOURCE_DIR}/util.cpp + ${TEST_SOURCE_DIR}/ocean_surface.h +) + +SET(SHARED_CS_FILES + ${SHARED_CS_DIR}/client.cpp + ${SHARED_CS_DIR}/client.h + ${SHARED_CS_DIR}/message_types.h + ${SHARED_CS_DIR}/socket_wrapper.h + ${SHARED_CS_DIR}/socket_wrapper.cpp +) + +SET(FX_FILES + ${TEST_SOURCE_DIR}/ocean_marker.fx + ${TEST_SOURCE_DIR}/ocean_surface.fx + ${TEST_SOURCE_DIR}/skybox.fx +) + +SET(FXO_FILES + ${PROJECT_SOURCE_DIR}/test/media/ocean_marker_d3d11.fxo + ${PROJECT_SOURCE_DIR}/test/media/ocean_surface_d3d11.fxo + ${PROJECT_SOURCE_DIR}/test/media/skybox_d3d11.fxo +) + +INCLUDE(cmake/CompileFXToFXO.cmake) + +#ADD_CUSTOM_TARGET(fx ALL) + +ADD_CUSTOM_TARGET(d3d11fx ALL) + +#FUNCTION(CompileFXToFXO FILE OUTPUT_FILE TARGET INCLUDE_DIR OPTIONS) +CompileFXToFXO(${TEST_SOURCE_DIR}/ocean_marker.fx ${PROJECT_SOURCE_DIR}/test/media/ocean_marker_d3d11.fxo d3d11fx ${TL_INCLUDE_DIR} /O3 /Tfx_5_0) +CompileFXToFXO(${TEST_SOURCE_DIR}/ocean_surface.fx ${PROJECT_SOURCE_DIR}/test/media/ocean_surface_d3d11.fxo d3d11fx ${TL_INCLUDE_DIR} /O3 /Tfx_5_0) +CompileFXToFXO(${TEST_SOURCE_DIR}/skybox.fx ${PROJECT_SOURCE_DIR}/test/media/skybox_d3d11.fxo d3d11fx ${TL_INCLUDE_DIR} /O3 /Tfx_5_0) + +ADD_LIBRARY(TestD3D11 ${WW_LIBTYPE} + ${WW_PLATFORM_SRC_FILES} + + ${APP_FILES} + ${SHARED_CS_FILES} + ${FX_FILES} + +) + +SOURCE_GROUP("app" FILES ${APP_FILES}) +SOURCE_GROUP("fx" FILES ${FX_FILES}) +#SOURCE_GROUP("header" FILES ${H_FILES}) +#SOURCE_GROUP("hlsl" FILES ${HLSL_FILES}) +#SOURCE_GROUP("cuda" FILES ${CUDA_FILES}) + + + +# Target specific compile options + + +TARGET_INCLUDE_DIRECTORIES(TestD3D11 + PRIVATE ${WW_PLATFORM_INCLUDES} + + PRIVATE ${TL_INCLUDE_DIR} + PRIVATE ${SHADER_CS_DIR} + PRIVATE ${SHARED_CS_DIR} + + PRIVATE ${DXUT_INCLUDE_DIRS} + PRIVATE ${FX11_INCLUDE_DIRS} + PRIVATE ${DXTK_INCLUDE_DIRS} +) + +TARGET_COMPILE_DEFINITIONS(TestD3D11 + + # Common to all configurations + PRIVATE ${WW_COMPILE_DEFS} +) + + + +#TODO: Link flags + +IF(TARGET_BUILD_PLATFORM STREQUAL "Windows") + # Add linked libraries + TARGET_LINK_LIBRARIES(TestD3D11 PUBLIC WaveWorks ${CUDA_LIBRARIES} ${DirectX_DXGUID_LIBRARY} ${DirectX_D3D11_LIBRARY} ${FXO_FILES} ${DXUT_LIBRARIES} ${FX11_LIBRARIES} ${DXTK_LIBRARIES}) + + IF(CMAKE_CL_64) + SET(LIBPATH_SUFFIX "win64") + ELSE(CMAKE_CL_64) + SET(LIBPATH_SUFFIX "Win32") + ENDIF(CMAKE_CL_64) + + SET_TARGET_PROPERTIES(TestD3D11 PROPERTIES + LINK_FLAGS_DEBUG "/MAP /DEBUG" + LINK_FLAGS_RELEASE "/MAP /INCREMENTAL:NO" + ) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "PS4") +# TARGET_LINK_LIBRARIES(TestD3D11 PUBLIC LowLevel LowLevelAABB LowLevelCloth LowLevelDynamics LowLevelParticles TestD3D11Common PxFoundation PxPvdSDK PxTask SceneQuery SimulationController) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "XBoxOne") + +# TARGET_LINK_LIBRARIES(TestD3D11 PUBLIC LowLevel LowLevelAABB LowLevelCloth LowLevelDynamics LowLevelParticles TestD3D11Common PxFoundation PxPvdSDK PxTask SceneQuery SimulationController) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "Unix") +ENDIF() + + -- cgit v1.2.3