diff options
| author | Jason Maskell <[email protected]> | 2016-05-19 11:56:51 +0200 |
|---|---|---|
| committer | Jason Maskell <[email protected]> | 2016-05-19 11:56:51 +0200 |
| commit | 67e62061658d90b9491c55544bb419f91a0c5c08 (patch) | |
| tree | 8769085a7916ae6e8b4fa6cb61a7d56018704396 /compiler | |
| parent | Added the ability to specify the "media" directory for the test project. (diff) | |
| download | waveworks_archive-67e62061658d90b9491c55544bb419f91a0c5c08.tar.xz waveworks_archive-67e62061658d90b9491c55544bb419f91a0c5c08.zip | |
D3D11 test is compiling and running with a rendering error (ocean is grey and not dark blue).
D3D11 sample added but still has lots of compile errors, needs to be fully converted to use new DXUT11, etc.
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/cmake/NvWaveWorks.cmake | 24 | ||||
| -rw-r--r-- | compiler/cmake/sample_d3d11.cmake | 171 |
2 files changed, 183 insertions, 12 deletions
diff --git a/compiler/cmake/NvWaveWorks.cmake b/compiler/cmake/NvWaveWorks.cmake index d34f42a..87b62d8 100644 --- a/compiler/cmake/NvWaveWorks.cmake +++ b/compiler/cmake/NvWaveWorks.cmake @@ -24,7 +24,7 @@ IF(TARGET_BUILD_PLATFORM STREQUAL "Windows") # Use generator expressions to set config specific preprocessor definitions SET(WW_COMPILE_DEFS # Common to all configurations - _LIB;NVWAVEWORKS_LIB_DLL_EXPORTS;WIN32; + _LIB;NVWAVEWORKS_LIB_DLL_EXPORTS;WIN32;WAVEWORKS_ENABLE_DIRECTCOMPUTE $<$<CONFIG:debug>:PROFILE;_DEV;> $<$<CONFIG:release>:NDEBUG;> @@ -201,20 +201,20 @@ CompileFXToH(${WW_SOURCE_DIR}/FFT_Simulation_DirectCompute_shader.hlsl ${GEN_SRC # Now the CUDA file # CUDA! -SET(CUDA_NVCC_FLAGS "-G -g -DWIN32 -D_WINDOWS -D_UNICODE -DUNICODE -D_LIB -gencode arch=compute_30,code=compute_30 -gencode arch=compute_20,code=sm_20") +# SET(CUDA_NVCC_FLAGS "-G -g -DWIN32 -D_WINDOWS -D_UNICODE -DUNICODE -D_LIB -gencode arch=compute_30,code=compute_30 -gencode arch=compute_20,code=sm_20") -CUDA_INCLUDE_DIRECTORIES( - ${CUDA_INCLUDE_DIRS} -) +# CUDA_INCLUDE_DIRECTORIES( + # ${CUDA_INCLUDE_DIRS} +# ) -SET(CUDA_PROPAGATE_HOST_FLAGS OFF) +# SET(CUDA_PROPAGATE_HOST_FLAGS OFF) -SET(CUDA_NVCC_FLAGS_DEBUG "--compiler-options=/Zi,/W4,/nologo,/Od,/MTd") -SET(CUDA_NVCC_FLAGS_RELEASE "-use_fast_math -DNDEBUG --compiler-options=/W4,/nologo,/O2,/GF,/GS-,/Gy,/fp:fast,/GR-,/MT") +# SET(CUDA_NVCC_FLAGS_DEBUG "--compiler-options=/Zi,/W4,/nologo,/Od,/MTd") +# SET(CUDA_NVCC_FLAGS_RELEASE "-use_fast_math -DNDEBUG --compiler-options=/W4,/nologo,/O2,/GF,/GS-,/Gy,/fp:fast,/GR-,/MT") -CUDA_COMPILE(GENERATED_CUDA_FILES_1 - ${WW_SOURCE_DIR}/FFT_Simulation_CUDA_kernel.cu -) +# CUDA_COMPILE(GENERATED_CUDA_FILES_1 + # ${WW_SOURCE_DIR}/FFT_Simulation_CUDA_kernel.cu +# ) ADD_LIBRARY(WaveWorks ${WW_LIBTYPE} ${WW_PLATFORM_SRC_FILES} @@ -229,7 +229,7 @@ ADD_LIBRARY(WaveWorks ${WW_LIBTYPE} ${GENERATED_HLSL_FILES} - ${GENERATED_CUDA_FILES_1} +# ${GENERATED_CUDA_FILES_1} # ${HLSL_FILES} # ${CUDA_FILES} diff --git a/compiler/cmake/sample_d3d11.cmake b/compiler/cmake/sample_d3d11.cmake new file mode 100644 index 0000000..5aa76b4 --- /dev/null +++ b/compiler/cmake/sample_d3d11.cmake @@ -0,0 +1,171 @@ +# +# Build test_d3d11 +# + +SET(GW_DEPS_ROOT $ENV{GW_DEPS_ROOT}) + +FIND_PACKAGE(DXUT REQUIRED) +FIND_PACKAGE(FX11 REQUIRED) +FIND_PACKAGE(DirectXTK REQUIRED) + +SET(SAMP_SOURCE_DIR ${PROJECT_SOURCE_DIR}/sample/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; + + $<$<CONFIG:debug>:PROFILE;_DEV;> + $<$<CONFIG:release>: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; + + $<$<CONFIG:debug>:_DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_SUPPORT_PVD=1;> + $<$<CONFIG:release>: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; + + $<$<CONFIG:debug>:_DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_SUPPORT_PVD=1;> + $<$<CONFIG:release>:NDEBUG;PX_SUPPORT_PVD=0;> + ) + + SET(WW_LIBTYPE STATIC) + + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "Unix") +ENDIF() + +SET(APP_FILES + ${SAMP_SOURCE_DIR}/distance_field.cpp + ${SAMP_SOURCE_DIR}/distance_field.h + + ${SAMP_SOURCE_DIR}/ocean_surface.cpp + ${SAMP_SOURCE_DIR}/ocean_surface.h + + ${SAMP_SOURCE_DIR}/sample_d3d11.cpp + + ${SAMP_SOURCE_DIR}/terrain.cpp + ${SAMP_SOURCE_DIR}/terrain.h + + ${SAMP_SOURCE_DIR}/util.cpp +) + +SET(FX_FILES + ${SAMP_SOURCE_DIR}/ocean_surface.fx + ${SAMP_SOURCE_DIR}/sample.fx +) + +INCLUDE(cmake/CompileFXToFXO.cmake) + +#ADD_CUSTOM_TARGET(fx ALL) + +ADD_CUSTOM_TARGET(samp_d3d11fx ALL) + +#FUNCTION(CompileFXToFXO FILE OUTPUT_FILE TARGET INCLUDE_DIR OPTIONS) +CompileFXToFXO(${SAMP_SOURCE_DIR}/ocean_surface.fx ${PROJECT_SOURCE_DIR}/test/media/ocean_surface_d3d11.fxo samp_d3d11fx ${TL_INCLUDE_DIR} /O3 /Tfx_5_0) +CompileFXToFXO(${SAMP_SOURCE_DIR}/sample.fx ${PROJECT_SOURCE_DIR}/test/media/sample_d3d11.fxo samp_d3d11fx ${TL_INCLUDE_DIR} /O3 /Tfx_5_0) + +ADD_EXECUTABLE(SampleD3D11 WIN32 + ${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(SampleD3D11 + 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(SampleD3D11 + + # Common to all configurations + PRIVATE ${WW_COMPILE_DEFS} +) + + + +#TODO: Link flags + +IF(TARGET_BUILD_PLATFORM STREQUAL "Windows") + # Add linked libraries + TARGET_LINK_LIBRARIES(SampleD3D11 PUBLIC WaveWorks Ws2_32.lib comctl32.lib Usp10.lib ${CUDA_LIBRARIES} ${DirectX_DXGUID_LIBRARY} ${DirectX_D3D11_LIBRARY} ${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(SampleD3D11 PROPERTIES + LINK_FLAGS_DEBUG "/MAP /DEBUG" + LINK_FLAGS_RELEASE "/MAP /INCREMENTAL:NO" + ) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "PS4") +# TARGET_LINK_LIBRARIES(SampleD3D11 PUBLIC LowLevel LowLevelAABB LowLevelCloth LowLevelDynamics LowLevelParticles SampleD3D11Common PxFoundation PxPvdSDK PxTask SceneQuery SimulationController) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "XBoxOne") + +# TARGET_LINK_LIBRARIES(SampleD3D11 PUBLIC LowLevel LowLevelAABB LowLevelCloth LowLevelDynamics LowLevelParticles SampleD3D11Common PxFoundation PxPvdSDK PxTask SceneQuery SimulationController) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "Unix") +ENDIF() + + |