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");