From 9e21cd4a7552390aff9a1421f2c7f6666876d0bc Mon Sep 17 00:00:00 2001 From: Anders Leino Date: Tue, 26 Nov 2024 13:53:23 +0200 Subject: wgpu: Enable Metal-like legalization for byte addressible buffers (#5681) * Enable hlsl-intrinsic/byte-address-buffer/byte-address-struct * Set byte address buffer legalization options for WGSL --- source/slang/slang-emit.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source') diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 326fc702d..a9d5c5e50 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -1200,6 +1200,15 @@ Result linkAndOptimizeIR( byteAddressBufferOptions.translateToStructuredBufferOps = false; byteAddressBufferOptions.lowerBasicTypeOps = true; break; + case CodeGenTarget::WGSL: + case CodeGenTarget::WGSLSPIRV: + case CodeGenTarget::WGSLSPIRVAssembly: + byteAddressBufferOptions.scalarizeVectorLoadStore = true; + byteAddressBufferOptions.treatGetEquivalentStructuredBufferAsGetThis = true; + byteAddressBufferOptions.translateToStructuredBufferOps = false; + byteAddressBufferOptions.lowerBasicTypeOps = true; + byteAddressBufferOptions.useBitCastFromUInt = true; + break; } // We also need to decide whether to translate -- cgit v1.2.3