diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | DEPS | 13 | ||||
-rw-r--r-- | third_party/CMakeLists.txt | 23 |
4 files changed, 46 insertions, 3 deletions
@@ -1,4 +1,7 @@ out +third_party/clspv +third_party/clspv-clang +third_party/clspv-llvm third_party/cpplint third_party/dxc third_party/glslang diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e9cb82..219101e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,6 +43,7 @@ option(AMBER_SKIP_SAMPLES "Skip building sample application" ${AMBER_SKIP_SAMPLES}) option(AMBER_USE_DXC "Enable DXC integration" ${AMBER_USE_DXC}) option(AMBER_USE_LOCAL_VULKAN "Build with vulkan in third_party" OFF) +option(AMBER_USE_CLSPV "Build with Clspv support" OFF) option(AMBER_ENABLE_SWIFTSHADER "Build using SwiftShader" ${AMBER_ENABLE_SWIFTSHADER}) @@ -90,6 +91,14 @@ else() set(AMBER_ENABLE_DXC FALSE) endif() +if (${AMBER_USE_CLSPV}) + enable_language(ASM) + set(AMBER_ENABLE_CLSPV TRUE) + set(AMBER_ENABLE_SPIRV_TOOLS TRUE) +else() + set(AMBER_ENABLE_CLSPV FALSE) +endif() + message(STATUS "Using python3") find_package(PythonInterp 3 REQUIRED) @@ -99,6 +108,7 @@ message(STATUS "Amber enable tests: ${AMBER_ENABLE_TESTS}") message(STATUS "Amber enable samples: ${AMBER_ENABLE_SAMPLES}") message(STATUS "Amber enable SwiftShader: ${AMBER_ENABLE_SWIFTSHADER}") message(STATUS "Amber enable DXC: ${AMBER_ENABLE_DXC}") +message(STATUS "Amber enable Clspv: ${AMBER_ENABLE_CLSPV}") include_directories("${PROJECT_SOURCE_DIR}/include") include_directories("${PROJECT_SOURCE_DIR}") @@ -3,10 +3,14 @@ use_relative_paths = True vars = { 'google_git': 'https://github.com/google', 'khronos_git': 'https://github.com/KhronosGroup', + 'llvm_git': 'https://github.com/llvm-mirror', 'lvandeve_git': 'https://github.com/lvandeve', 'swiftshader_git': 'https://swiftshader.googlesource.com', 'microsoft_git': 'https://github.com/Microsoft', + 'clspv_clang_revision': '834a93f953ac6789f39dbeb86d8144f847807353', + 'clspv_llvm_revision': 'e35805b8192297a81e795573614274b904785a7d', + 'clspv_revision': '64a51387967ea2a26e4a52a22ad8640148194edc', 'cpplint_revision': '9f41862c0efa7681e2147910d39629c73a2b2702', 'dxc_revision': '7342a3b9be25bd4787fd24a4041795796e7ec49f', 'glslang_revision': 'f44b17ee135d5e153ce000e88b806b5377812b11', @@ -21,6 +25,15 @@ vars = { } deps = { + 'third_party/clspv': vars['google_git'] + '/clspv.git@' + + vars['clspv_revision'], + + 'third_party/clspv-clang': vars['llvm_git'] + '/clang.git@' + + vars['clspv_clang_revision'], + + 'third_party/clspv-llvm': vars['llvm_git'] + '/llvm.git@' + + vars['clspv_llvm_revision'], + 'third_party/cpplint': vars['google_git'] + '/styleguide.git@' + vars['cpplint_revision'], diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index 6d8d21b..5a988dc 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -85,14 +85,13 @@ if (${AMBER_ENABLE_DXC}) set(LLVM_DEFAULT_TARGET_TRIPLE "dxil-ms-dx" CACHE STRING "") set(LLVM_ENABLE_EH ON CACHE BOOL "") set(LLVM_ENABLE_RTTI ON CACHE BOOL "") + set(LLVM_BUILD_EXAMPLES OFF CACHE BOOL "") + set(LLVM_BUILD_TESTS ON CACHE BOOL "") set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") - set(LLVM_BUILD_TESTS ON CACHE BOOL "") set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "") set(LLVM_INCLUDE_TOOLS ON CACHE BOOL "") set(LLVM_INCLUDE_UTILS OFF CACHE BOOL "") - set(LLVM_BUILD_EXAMPLES OFF CACHE BOOL "") - set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") set(LLVM_USE_CRT_DEBUG MTd CACHE STRING "") set(LLVM_USE_CRT_RELEASE MT CACHE STRING "") set(LLVM_USE_CRT_RELWITHDEBINFO MT CACHE STRING "") @@ -129,3 +128,21 @@ if (${AMBER_ENABLE_DXC}) ) endif() endif() + +if (${AMBER_ENABLE_CLSPV}) + set(CLSPV_LLVM_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/clspv-llvm" CACHE STRING "") + set(CLSPV_CLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/clspv-clang" CACHE STRING "") + set(SPIRV_HEADERS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/spirv-headers" CACHE STRING "") + set(SPIRV_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools" CACHE STRING "") + + set(LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN OFF CACHE STRING "") + set(LLVM_BUILD_STATIC ON CACHE BOOL "") + set(LLVM_INCLUDE_BENCHMARKS OFF CACHE BOOL "") + set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") + set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") + set(LLVM_INCLUDE_GO_TESTS OFF CACHE BOOL "") + set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "") + set(LLVM_INCLUDE_UTILS OFF CACHE BOOL "") + + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/clspv) +endif() |