summaryrefslogtreecommitdiffstats
path: root/external/slang-tint-headers
diff options
context:
space:
mode:
authorAnders Leino <aleino@nvidia.com>2024-10-07 20:16:19 +0300
committerGitHub <noreply@github.com>2024-10-07 10:16:19 -0700
commit509409ef11e3b1abd1d7e1bfb540bc172aa1a817 (patch)
treea72725310c63b5224e76a79a4cb9b8ab9984cbc5 /external/slang-tint-headers
parentff51c21ba217fe18bf22fec7bf822cde779b265d (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 'external/slang-tint-headers')
-rw-r--r--external/slang-tint-headers/slang-tint.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/external/slang-tint-headers/slang-tint.h b/external/slang-tint-headers/slang-tint.h
new file mode 100644
index 000000000..ee70b5607
--- /dev/null
+++ b/external/slang-tint-headers/slang-tint.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <stddef.h>
+#include <stdint.h>
+
+struct tint_CompileRequest
+{
+ const char* wgslCode;
+ size_t wgslCodeLength;
+};
+
+struct tint_CompileResult
+{
+ const uint8_t* buffer;
+ size_t bufferSize;
+ const char* error;
+};
+
+
+typedef int (*tint_CompileFunc)(tint_CompileRequest* request, tint_CompileResult* result);
+
+typedef void (*tint_FreeResultFunc)(tint_CompileResult* result);