shader-slang: 2025.14.3 -> 2025.15 (#437524)

This commit is contained in:
Niklas Korz
2025-08-27 16:28:37 +02:00
committed by GitHub
4 changed files with 17 additions and 107 deletions
@@ -1,83 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 549e465ac..546c94607 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -175,6 +175,8 @@ advanced_option(
"Build using system unordered dense"
OFF
)
+advanced_option(SLANG_USE_SYSTEM_SPIRV_TOOLS "Build using system SPIR-V tools library" OFF)
+advanced_option(SLANG_USE_SYSTEM_GLSLANG "Build using system glslang library" OFF)
option(
SLANG_SPIRV_HEADERS_INCLUDE_DIR
@@ -404,6 +406,34 @@ if(${SLANG_USE_SYSTEM_UNORDERED_DENSE})
find_package(unordered_dense CONFIG QUIET)
endif()
+if(${SLANG_USE_SYSTEM_MINIZ})
+ find_package(miniz REQUIRED)
+ add_library(miniz ALIAS miniz::miniz)
+endif()
+
+if(${SLANG_USE_SYSTEM_LZ4})
+ find_package(lz4 REQUIRED)
+ add_library(lz4_static ALIAS LZ4::lz4)
+endif()
+
+if(${SLANG_USE_SYSTEM_VULKAN_HEADERS})
+ find_package(VulkanHeaders REQUIRED)
+endif()
+
+if(${SLANG_USE_SYSTEM_SPIRV_HEADERS})
+ find_package(SPIRV-Headers REQUIRED)
+ add_library(SPIRV-Headers ALIAS SPIRV-Headers::SPIRV-Headers)
+endif()
+
+if(${SLANG_USE_SYSTEM_SPIRV_TOOLS})
+ find_package(SPIRV-Tools REQUIRED)
+endif()
+
+if(${SLANG_USE_SYSTEM_GLSLANG})
+ find_package(glslang REQUIRED)
+ add_library(glslang ALIAS glslang::glslang)
+endif()
+
add_subdirectory(external)
# webgpu_dawn is only available as a fetched shared library, since Dawn's nested source
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
index 801cae4d6..d45150118 100644
--- a/external/CMakeLists.txt
+++ b/external/CMakeLists.txt
@@ -133,6 +133,7 @@ if(SLANG_ENABLE_SLANG_GLSLANG)
)
endif()
+if(NOT ${SLANG_USE_SYSTEM_SPIRV_TOOLS})
# SPIRV-Tools
set(SPIRV_TOOLS_BUILD_STATIC ON)
set(SPIRV_WERROR OFF)
@@ -148,11 +149,14 @@ if(SLANG_ENABLE_SLANG_GLSLANG)
${system}
)
endif()
+endif()
+if(NOT ${SLANG_USE_SYSTEM_GLSLANG})
# glslang
set(SKIP_GLSLANG_INSTALL ON)
set(ENABLE_OPT ON)
set(ENABLE_PCH OFF)
+ set(ALLOW_EXTERNAL_SPIRV_TOOLS ${SLANG_USE_SYSTEM_SPIRV_TOOLS})
if(NOT SLANG_OVERRIDE_GLSLANG_PATH)
add_subdirectory(glslang EXCLUDE_FROM_ALL ${system})
else()
@@ -164,6 +168,7 @@ if(SLANG_ENABLE_SLANG_GLSLANG)
)
endif()
endif()
+endif()
# imgui
add_library(imgui INTERFACE)
+17 -24
View File
@@ -10,7 +10,7 @@
libxml2,
libX11,
glslang,
llvmPackages_13,
llvmPackages_14,
versionCheckHook,
gitUpdater,
@@ -27,33 +27,26 @@
stdenv.mkDerivation (finalAttrs: {
pname = "shader-slang";
version = "2025.14.3";
version = "2025.15";
src = fetchFromGitHub {
owner = "shader-slang";
repo = "slang";
tag = "v${finalAttrs.version}";
hash = "sha256-tHLm0XmS5vV+o3VmFHWG8wZnrb0p63Nz1zVyvc/e5+s=";
hash = "sha256-m1Xn8OybEDJYrR5c5eJZNvDhXtnydQ5lx1v2PqyJu5c=";
fetchSubmodules = true;
};
patches = [
# Slang's build definitions do not support using system provided cmake packages
# for its dependencies.
# While it does come with "SLANG_USE_SYSTEM_XYZ" flags, these expect Slang to be
# imported into some other CMake build that already provides the necessary target.
# This patch adds the required `find_package` calls and sets up target aliases where needed.
./1-find-packages.patch
]
++ lib.optionals withSharedLLVM [
# Upstream statically links libllvm and libclang++, resulting in a ~5x increase in binary size.
./2-shared-llvm.patch
]
++ lib.optionals withGlslang [
# Upstream depends on glslang 13 and there are minor breaking changes in glslang 15, the version
# we ship in nixpkgs.
./3-glslang-15.patch
];
patches =
lib.optionals withSharedLLVM [
# Upstream statically links libllvm and libclang++, resulting in a ~5x increase in binary size.
./1-shared-llvm.patch
]
++ lib.optionals withGlslang [
# Upstream depends on glslang 13 and there are minor breaking changes in glslang 15, the version
# we ship in nixpkgs.
./2-glslang-15.patch
];
outputs = [
"out"
@@ -78,10 +71,10 @@ stdenv.mkDerivation (finalAttrs: {
libX11
]
++ lib.optionals withLLVM [
# Slang only supports LLVM 13:
# https://github.com/shader-slang/slang/blob/master/docs/building.md#llvm-support
llvmPackages_13.llvm
llvmPackages_13.libclang
# Slang only supports LLVM 14:
# https://github.com/shader-slang/slang/blob/v2025.15/docs/building.md#llvm-support
llvmPackages_14.llvm
llvmPackages_14.libclang
]
++ lib.optionals withGlslang [
# SPIRV-tools is included in glslang.