aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--CMakeLists.txt10
-rw-r--r--DEPS13
-rw-r--r--third_party/CMakeLists.txt23
4 files changed, 46 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index ab0701c..4c176e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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}")
diff --git a/DEPS b/DEPS
index 0226577..a94db3b 100644
--- a/DEPS
+++ b/DEPS
@@ -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()