From 509409ef11e3b1abd1d7e1bfb540bc172aa1a817 Mon Sep 17 00:00:00 2001 From: Anders Leino Date: Mon, 7 Oct 2024 20:16:19 +0300 Subject: 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 --- external/slang-tint-headers/slang-tint.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 external/slang-tint-headers/slang-tint.h (limited to 'external') 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 +#include + +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); -- cgit v1.2.3