summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt8
-rw-r--r--source/core/slang-render-api-util.cpp8
-rw-r--r--tools/render-test/slang-support.cpp3
-rw-r--r--tools/slang-test/slang-test-main.cpp4
4 files changed, 14 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cc73d653b..dcb102ffb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -487,13 +487,21 @@ endif()
if(SLANG_ENABLE_PREBUILT_BINARIES)
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
+ # DX Agility SDK requires the D3D12*.DLL files to be placed under a sub-directory, "D3D12".
+ # https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/#d3d12sdkpath-should-not-be-the-same-directory-as-the-application-exe
file(GLOB prebuilt_binaries "${CMAKE_SOURCE_DIR}/external/slang-binaries/bin/windows-x64/*")
+ file(GLOB prebuilt_d3d12_binaries "${CMAKE_SOURCE_DIR}/external/slang-binaries/bin/windows-x64/[dD]3[dD]12*")
+ list(REMOVE_ITEM prebuilt_binaries ${prebuilt_d3d12_binaries})
add_custom_target(
copy-prebuilt-binaries ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/$<CONFIG>/${runtime_subdir}
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${prebuilt_binaries}
${CMAKE_BINARY_DIR}/$<CONFIG>/${runtime_subdir}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/$<CONFIG>/${runtime_subdir}/D3D12
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${prebuilt_d3d12_binaries}
+ ${CMAKE_BINARY_DIR}/$<CONFIG>/${runtime_subdir}/D3D12
VERBATIM
)
endif()
diff --git a/source/core/slang-render-api-util.cpp b/source/core/slang-render-api-util.cpp
index 9dff5e90c..797d82cd7 100644
--- a/source/core/slang-render-api-util.cpp
+++ b/source/core/slang-render-api-util.cpp
@@ -267,17 +267,9 @@ static bool _canLoadSharedLibrary(const char* libName)
#if SLANG_WINDOWS_FAMILY
case RenderApiType::Vulkan: return _canLoadSharedLibrary("vulkan-1") || _canLoadSharedLibrary("vk_swiftshader");
case RenderApiType::WebGPU:
-#if _DEBUG
- // At the moment, some CI issue is preventing tests to run in Debug builds.
- // As a work-around in order to allow us to enable tests in Release builds ASSP,
- // we skip WebGPU tests in by returning false here.
- // https://github.com/shader-slang/slang/issues/5233#issuecomment-2411380030
- return false;
-#else
return _canLoadSharedLibrary("webgpu_dawn") &&
_canLoadSharedLibrary("dxcompiler") &&
_canLoadSharedLibrary("dxil");
-#endif // if SLANG_DEBUG
#elif SLANG_APPLE_FAMILY
case RenderApiType::Vulkan: return true;
case RenderApiType::Metal: return true;
diff --git a/tools/render-test/slang-support.cpp b/tools/render-test/slang-support.cpp
index 2de67e538..97f163261 100644
--- a/tools/render-test/slang-support.cpp
+++ b/tools/render-test/slang-support.cpp
@@ -122,6 +122,9 @@ void ShaderCompilerUtil::Output::reset()
case SLANG_SOURCE_LANGUAGE_CUDA:
spAddPreprocessorDefine(slangRequest, "__CUDA__", "1");
break;
+ case SLANG_SOURCE_LANGUAGE_WGSL:
+ spAddPreprocessorDefine(slangRequest, "__WGSL__", "1");
+ break;
default:
assert(!"unexpected");
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp
index 150e21d5d..c62e2b10e 100644
--- a/tools/slang-test/slang-test-main.cpp
+++ b/tools/slang-test/slang-test-main.cpp
@@ -1132,7 +1132,8 @@ static SlangResult _extractRenderTestRequirements(const CommandLine& cmdLine, Te
break;
case RenderApiType::WebGPU:
target = SLANG_WGSL;
- SLANG_ASSERT(!usePassthru);
+ nativeLanguage = SLANG_SOURCE_LANGUAGE_WGSL;
+ passThru = SLANG_PASS_THROUGH_TINT;
break;
}
@@ -4661,6 +4662,7 @@ SlangResult innerMain(int argc, char** argv)
for (auto& test : context.failedFileTests)
{
FileTestInfoImpl* fileTestInfo = static_cast<FileTestInfoImpl*>(test.Ptr());
+ TestReporter::SuiteScope suiteScope(&reporter, "tests");
TestReporter::TestScope scope(&reporter, fileTestInfo->testName);
reporter.addResult(TestResult::Fail);
}