summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorJason Maskell <[email protected]>2016-05-19 11:56:51 +0200
committerJason Maskell <[email protected]>2016-05-19 11:56:51 +0200
commit67e62061658d90b9491c55544bb419f91a0c5c08 (patch)
tree8769085a7916ae6e8b4fa6cb61a7d56018704396 /compiler
parentAdded the ability to specify the "media" directory for the test project. (diff)
downloadwaveworks_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.cmake24
-rw-r--r--compiler/cmake/sample_d3d11.cmake171
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()
+
+