shader-slang: 2025.14.3 -> 2025.15 (#437524)
This commit is contained in:
@@ -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)
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user