diff --git a/util/test/demos/3rdparty/shaderc/build-shaderc.sh b/util/test/demos/3rdparty/shaderc/build-shaderc.sh
index 598a71d0b..d050ff30d 100644
--- a/util/test/demos/3rdparty/shaderc/build-shaderc.sh
+++ b/util/test/demos/3rdparty/shaderc/build-shaderc.sh
@@ -43,19 +43,17 @@ pushd shaderc
git pull
./utils/git-sync-deps
+rm -rf build64 build32
+
if [[ "$PLATFORM" == "Windows" ]]; then
- if [[ "$CMAKE_GENERATOR" == "" ]]; then
- CMAKE_GENERATOR="Visual Studio 17 2022"
- fi
-
# CMake configure if the folders don't exist
- cmake -DSHADERC_SKIP_TESTS=ON -DSHADERC_ENABLE_SPVC=OFF -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH"/x64 -DCMAKE_BUILD_TYPE=Release -G "$CMAKE_GENERATOR Win64" -Bbuild64 -H.
- cmake -DSHADERC_SKIP_TESTS=ON -DSHADERC_ENABLE_SPVC=OFF -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH"/x86 -DCMAKE_BUILD_TYPE=Release -G "$CMAKE_GENERATOR" -Bbuild32 -H.
+ cmake -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH"/x64 -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 17 2022" -A x64 -Bbuild64 -H. || exit
+ cmake -DSHADERC_SKIP_TESTS=ON -DSHADERC_SKIP_EXAMPLES=ON -DCMAKE_INSTALL_PREFIX="$INSTALL_PATH"/x86 -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 17 2022" -A Win32 -Bbuild32 -H. || exit
# Build and install
- cmake --build build64 --config Release --target install --parallel 8
- cmake --build build32 --config Release --target install --parallel 8
+ cmake --build build64 --config Release --target install --parallel 8 || exit
+ cmake --build build32 --config Release --target install --parallel 8 || exit
else
diff --git a/util/test/demos/build_standalone_release.sh b/util/test/demos/build_standalone_release.sh
new file mode 100644
index 000000000..dcf878b79
--- /dev/null
+++ b/util/test/demos/build_standalone_release.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# find new msbuild
+MSBUILD="$(/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/Installer/vswhere.exe -requires Microsoft.Component.MSBuild -find 'MSBuild\**\Bin\MSBuild.exe')"
+
+# build with new enough toolset to link shaderc
+"$MSBUILD" -p:'Configuration=Release;Platform=x64' -p:'PlatformToolset=v143'
diff --git a/util/test/demos/demos.vcxproj b/util/test/demos/demos.vcxproj
index 29e9cba16..d70b19d8d 100644
--- a/util/test/demos/demos.vcxproj
+++ b/util/test/demos/demos.vcxproj
@@ -100,7 +100,13 @@
true
-
+
+ 1
+
+
+ 1
+
+
3rdparty/shaderc/x64/include;%(AdditionalIncludeDirectories)
HAVE_SHADERC=1;%(PreprocessorDefinitions)
@@ -109,7 +115,7 @@
3rdparty/shaderc/x64/lib/shaderc_combined.lib;%(AdditionalDependencies)
-
+
3rdparty/shaderc/x86/include;%(AdditionalIncludeDirectories)
HAVE_SHADERC=1;%(PreprocessorDefinitions)
@@ -529,6 +535,8 @@ namespace DXCEnumerateAndCheck {
+
+
$(DXCDLLFolder)
diff --git a/util/test/demos/test_common.cpp b/util/test/demos/test_common.cpp
index 5dde09bd3..7454a3c8a 100644
--- a/util/test/demos/test_common.cpp
+++ b/util/test/demos/test_common.cpp
@@ -531,6 +531,12 @@ void GraphicsTest::Prepare(int argc, char **argv)
if(prepared)
return;
+#if USE_LINKED_SHADERC
+ TEST_LOG("Using linked shaderc");
+#else
+ TEST_LOG("Requires glslc/shaderc for Vulkan tests");
+#endif
+
prepared = true;
dataRoot = GetEnvVar("RENDERDOC_DEMOS_DATA");