summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/shaderc
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/packagefiles/shaderc')
-rw-r--r--subprojects/packagefiles/shaderc/deps_from_cmake.diff16
-rw-r--r--subprojects/packagefiles/shaderc/no_hlsl_compile.diff13
-rwxr-xr-xsubprojects/packagefiles/shaderc/shaderc_deps.sh27
-rw-r--r--subprojects/packagefiles/shaderc/third_party_fix_build.diff6
4 files changed, 46 insertions, 16 deletions
diff --git a/subprojects/packagefiles/shaderc/deps_from_cmake.diff b/subprojects/packagefiles/shaderc/deps_from_cmake.diff
new file mode 100644
index 0000000..b3ea15b
--- /dev/null
+++ b/subprojects/packagefiles/shaderc/deps_from_cmake.diff
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 51b5469..fa84982 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,6 +17,11 @@ cmake_minimum_required(VERSION 3.22.1)
+ project(shaderc)
+ enable_testing()
+
++execute_process(COMMAND ./shaderc_deps.sh
++ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
++ COMMAND_ERROR_IS_FATAL ANY
++)
++
+ if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
+ message(STATUS "No build type selected, default to Debug")
+ set(CMAKE_BUILD_TYPE "Debug")
diff --git a/subprojects/packagefiles/shaderc/no_hlsl_compile.diff b/subprojects/packagefiles/shaderc/no_hlsl_compile.diff
deleted file mode 100644
index ef96592..0000000
--- a/subprojects/packagefiles/shaderc/no_hlsl_compile.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc
-index 9bf9a43..507e669 100644
---- a/libshaderc_util/src/compiler.cc
-+++ b/libshaderc_util/src/compiler.cc
-@@ -286,7 +286,7 @@ std::tuple<bool, std::vector<uint32_t>, size_t> Compiler::Compile(
- bases[static_cast<int>(UniformKind::StorageBuffer)]);
- shader.setShiftUavBinding(
- bases[static_cast<int>(UniformKind::UnorderedAccessView)]);
-- shader.setHlslIoMapping(hlsl_iomap_);
-+ //shader.setHlslIoMapping(hlsl_iomap_);
- shader.setResourceSetBinding(
- hlsl_explicit_bindings_[static_cast<int>(used_shader_stage)]);
- shader.setEnvClient(target_client_info.client,
diff --git a/subprojects/packagefiles/shaderc/shaderc_deps.sh b/subprojects/packagefiles/shaderc/shaderc_deps.sh
new file mode 100755
index 0000000..03fd718
--- /dev/null
+++ b/subprojects/packagefiles/shaderc/shaderc_deps.sh
@@ -0,0 +1,27 @@
+#! /usr/bin/env sh
+
+# https://github.com/google/shaderc/blob/known-good/known_good.json
+
+cd third_party
+
+if [ ! -d glslang ]; then
+ git clone https://github.com/KhronosGroup/glslang.git glslang
+ cd glslang
+ git checkout 168d452a4f460d24b588fed08477a81c44ee27a1
+ cd ../
+fi
+
+if [ ! -d spirv-tools ]; then
+ git clone https://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools
+ cd spirv-tools
+ git checkout b707790a898e44038547df54580022fc1cf89c3d
+ git apply ../../../packagefiles/shaderc/spirv_tools_build_version.diff
+ cd ../
+fi
+
+if [ ! -d spirv-headers ]; then
+ git clone https://github.com/KhronosGroup/SPIRV-Headers.git spirv-headers
+ cd spirv-headers
+ git checkout 29981f65241605e08b0ede4cfeb999fe3b723c6a
+ cd ../
+fi
diff --git a/subprojects/packagefiles/shaderc/third_party_fix_build.diff b/subprojects/packagefiles/shaderc/third_party_fix_build.diff
index 03a1e11..f567b6e 100644
--- a/subprojects/packagefiles/shaderc/third_party_fix_build.diff
+++ b/subprojects/packagefiles/shaderc/third_party_fix_build.diff
@@ -1,13 +1,13 @@
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
-index d44f62a..608accd 100644
+index 9e9d8b1..b31b800 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
-@@ -87,7 +87,7 @@ if (NOT TARGET glslang)
+@@ -92,7 +92,7 @@ if (NOT TARGET glslang)
# Glslang tests are off by default. Turn them on if testing Shaderc.
set(GLSLANG_TESTS ON)
endif()
- set(GLSLANG_ENABLE_INSTALL $<NOT:${SKIP_GLSLANG_INSTALL}>)
+ #set(GLSLANG_ENABLE_INSTALL $<NOT:${SKIP_GLSLANG_INSTALL}>)
+ set(ENABLE_HLSL "${SHADERC_ENABLE_HLSL}")
add_subdirectory(${SHADERC_GLSLANG_DIR} glslang)
endif()
- if (NOT TARGET glslang)