From 91c8c3f32c4b827dedc74d2ecdfe72a3403fc357 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 21 Jul 2022 17:10:14 -0400 Subject: Upgrade SPIR-V Tools and GLSLANG (#2335) * #include an absolute path didn't work - because paths were taken to always be relative. * Upgrade of SPIR-V Tools * Use slang-pack to get slang-glslang (previously was in slang-binaries) Update slang-glslang used --- build/visual-studio/slang/slang.vcxproj | 12 ++++++------ deps/target-deps.json | 14 ++++++++++++++ external/spirv-tools | 2 +- premake5.lua | 4 +++- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/build/visual-studio/slang/slang.vcxproj b/build/visual-studio/slang/slang.vcxproj index f193e36b5..db1208cfb 100644 --- a/build/visual-studio/slang/slang.vcxproj +++ b/build/visual-studio/slang/slang.vcxproj @@ -178,7 +178,7 @@ IF EXIST ..\..\..\external\slang-llvm\bin\windows-x86\release\slang-llvm.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-llvm\bin\windows-x86\release\slang-llvm.dll ..\..\..\bin\windows-x86\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-llvm\bin\windows-x86\release\slang-llvm.dll ..\..\..\bin\windows-x86\debug > nul) -IF EXIST ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll ..\..\..\bin\windows-x86\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll ..\..\..\bin\windows-x86\debug > nul) +IF EXIST ..\..\..\external\slang-glslang\bin\windows-x86\release\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-glslang\bin\windows-x86\release\slang-glslang.dll ..\..\..\bin\windows-x86\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-glslang\bin\windows-x86\release\slang-glslang.dll ..\..\..\bin\windows-x86\debug > nul) @@ -200,7 +200,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll\ (xc IF EXIST ..\..\..\external\slang-llvm\bin\windows-x64\release\slang-llvm.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-llvm\bin\windows-x64\release\slang-llvm.dll ..\..\..\bin\windows-x64\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-llvm\bin\windows-x64\release\slang-llvm.dll ..\..\..\bin\windows-x64\debug > nul) -IF EXIST ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll ..\..\..\bin\windows-x64\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll ..\..\..\bin\windows-x64\debug > nul) +IF EXIST ..\..\..\external\slang-glslang\bin\windows-x64\release\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-glslang\bin\windows-x64\release\slang-glslang.dll ..\..\..\bin\windows-x64\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-glslang\bin\windows-x64\release\slang-glslang.dll ..\..\..\bin\windows-x64\debug > nul) @@ -222,7 +222,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll\ (xc IF EXIST ..\..\..\external\slang-llvm\bin\windows-aarch64\release\slang-llvm.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-llvm\bin\windows-aarch64\release\slang-llvm.dll ..\..\..\bin\windows-aarch64\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-llvm\bin\windows-aarch64\release\slang-llvm.dll ..\..\..\bin\windows-aarch64\debug > nul) -IF EXIST ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll ..\..\..\bin\windows-aarch64\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll ..\..\..\bin\windows-aarch64\debug > nul) +IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glslang.dll ..\..\..\bin\windows-aarch64\debug > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glslang.dll ..\..\..\bin\windows-aarch64\debug > nul) @@ -248,7 +248,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll\ IF EXIST ..\..\..\external\slang-llvm\bin\windows-x86\release\slang-llvm.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-llvm\bin\windows-x86\release\slang-llvm.dll ..\..\..\bin\windows-x86\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-llvm\bin\windows-x86\release\slang-llvm.dll ..\..\..\bin\windows-x86\release > nul) -IF EXIST ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll ..\..\..\bin\windows-x86\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll ..\..\..\bin\windows-x86\release > nul) +IF EXIST ..\..\..\external\slang-glslang\bin\windows-x86\release\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-glslang\bin\windows-x86\release\slang-glslang.dll ..\..\..\bin\windows-x86\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-glslang\bin\windows-x86\release\slang-glslang.dll ..\..\..\bin\windows-x86\release > nul) @@ -274,7 +274,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-x86\slang-glslang.dll\ (xc IF EXIST ..\..\..\external\slang-llvm\bin\windows-x64\release\slang-llvm.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-llvm\bin\windows-x64\release\slang-llvm.dll ..\..\..\bin\windows-x64\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-llvm\bin\windows-x64\release\slang-llvm.dll ..\..\..\bin\windows-x64\release > nul) -IF EXIST ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll ..\..\..\bin\windows-x64\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll ..\..\..\bin\windows-x64\release > nul) +IF EXIST ..\..\..\external\slang-glslang\bin\windows-x64\release\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-glslang\bin\windows-x64\release\slang-glslang.dll ..\..\..\bin\windows-x64\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-glslang\bin\windows-x64\release\slang-glslang.dll ..\..\..\bin\windows-x64\release > nul) @@ -300,7 +300,7 @@ IF EXIST ..\..\..\external\slang-binaries\bin\windows-x64\slang-glslang.dll\ (xc IF EXIST ..\..\..\external\slang-llvm\bin\windows-aarch64\release\slang-llvm.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-llvm\bin\windows-aarch64\release\slang-llvm.dll ..\..\..\bin\windows-aarch64\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-llvm\bin\windows-aarch64\release\slang-llvm.dll ..\..\..\bin\windows-aarch64\release > nul) -IF EXIST ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll ..\..\..\bin\windows-aarch64\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-binaries\bin\windows-aarch64\slang-glslang.dll ..\..\..\bin\windows-aarch64\release > nul) +IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glslang.dll\ (xcopy /Q /E /Y /I ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glslang.dll ..\..\..\bin\windows-aarch64\release > nul) ELSE (xcopy /Q /Y /I ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glslang.dll ..\..\..\bin\windows-aarch64\release > nul) diff --git a/deps/target-deps.json b/deps/target-deps.json index 861f18289..142265d2f 100644 --- a/deps/target-deps.json +++ b/deps/target-deps.json @@ -14,6 +14,20 @@ "macosx-x86_64" : { "type": "url", "path" : "slang-llvm-v13.x-29-macosx-x86_64-release.zip" } } }, + { + "name" : "slang-glslang", + "baseUrl" : "https://github.com/shader-slang/slang-glslang/releases/download/v11.10.0/", + "optional" : true, + "packages" : + { + "windows-x86_64" : { "type" : "url", "path" : "slang-glslang-11.10.0-windows-x64-release.zip" }, + "windows-x86" : { "type": "url", "path" : "slang-glslang-11.10.0-windows-win32-release.zip" }, + "linux-x86_64" : { "type": "url", "path" : "slang-glslang-11.10.0-linux-x64-release.zip" }, + "linux-x86" : { "type": "url", "path" : "slang-glslang-11.10.0-linux-x86-release.zip" }, + "macosx-x86_64" : { "type": "url", "path" : "slang-glslang-11.10.0-macosx-x86_64-release.zip" }, + "windows-aarch64" : { "type" : "url", "path" : "slang-glslang-11.10.0-windows-aarch64-release.zip" } + } + }, { "name" : "dxc", "type" : "submodule" diff --git a/external/spirv-tools b/external/spirv-tools index eb5fb4d73..60761def4 160000 --- a/external/spirv-tools +++ b/external/spirv-tools @@ -1 +1 @@ -Subproject commit eb5fb4d73cdba23f52b24c1d92d8418120f48621 +Subproject commit 60761def49719d66d90cede125ac253c1883a51a diff --git a/premake5.lua b/premake5.lua index 04649689e..6cad48349 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1399,13 +1399,15 @@ tool "slangd" } end + local slangGlslangPath = deps:getProjectRelativePath("slang-glslang", "../../..") + -- If we are not building glslang from source, then be -- sure to copy a binary copy over to the output directory if not buildGlslang then filter { "system:linux or macosx or windows" } local sharedLibName = slangUtil.getSharedLibraryFileName(targetInfo, "slang-glslang") postbuildcommands { - "{COPY} ../../../external/slang-binaries/bin/" .. targetName .. "/" .. sharedLibName .. " %{cfg.targetdir}" + "{COPY} " .. slangGlslangPath .. "/bin/" .. targetName .. "/release/" .. sharedLibName .. " %{cfg.targetdir}" } end -- cgit v1.2.3