diff options
| author | Anders Leino <aleino@nvidia.com> | 2024-10-07 20:16:19 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-07 10:16:19 -0700 |
| commit | 509409ef11e3b1abd1d7e1bfb540bc172aa1a817 (patch) | |
| tree | a72725310c63b5224e76a79a4cb9b8ab9984cbc5 /source/core/slang-render-api-util.cpp | |
| parent | ff51c21ba217fe18bf22fec7bf822cde779b265d (diff) | |
Add WGSL support for slang-test (#5174)
* Use the assembly description as target when disassembling
I believe this is a bugfix.
It seems to have worked before because up until the WGSL case, the disassembler has been
the same executable as the one producing the binary to be disassembled.
* Add Tint as a downstream compiler
This closes issue #5104.
* Add downstream compiler for Tint.
* Tint is wrapped in a shared library, 'slang-tint' available from [1].
* The header file for slang-tint.dll is added in external/slang-tint-headers.
* Add some boilerplate for WGSL targets.
* Add an entry point test for WGSL.
[1] https://github.com/shader-slang/dawn/releases/tag/slang-tint-0
* Add WGSL_SPIRV as supported target for Glslang
* Add WebGPU support to slang-test
This helps to address issue #5051.
* Disable lots of crashing compute tests for 'wgpu'
This closes issue #5051.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/core/slang-render-api-util.cpp')
| -rw-r--r-- | source/core/slang-render-api-util.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/core/slang-render-api-util.cpp b/source/core/slang-render-api-util.cpp index 0a303b665..797d82cd7 100644 --- a/source/core/slang-render-api-util.cpp +++ b/source/core/slang-render-api-util.cpp @@ -19,6 +19,7 @@ namespace Slang { { RenderApiType::Metal, "mtl,metal", ""}, { RenderApiType::CPU, "cpu", ""}, { RenderApiType::CUDA, "cuda", "cuda,ptx"}, + { RenderApiType::WebGPU, "wgpu,webgpu", "wgsl"}, }; static int _calcAvailableApis() @@ -265,6 +266,10 @@ static bool _canLoadSharedLibrary(const char* libName) { #if SLANG_WINDOWS_FAMILY case RenderApiType::Vulkan: return _canLoadSharedLibrary("vulkan-1") || _canLoadSharedLibrary("vk_swiftshader"); + case RenderApiType::WebGPU: + return _canLoadSharedLibrary("webgpu_dawn") && + _canLoadSharedLibrary("dxcompiler") && + _canLoadSharedLibrary("dxil"); #elif SLANG_APPLE_FAMILY case RenderApiType::Vulkan: return true; case RenderApiType::Metal: return true; |
