Bug 262084

Summary: [WGSL] 1D/2D/3D texture read() function expects unsigned values
Product: WebKit Reporter: Mike Wyrzykowski <mwyrzykowski>
Component: WebGPUAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Mike Wyrzykowski 2023-09-25 16:44:14 PDT
The WGSL specification for https://www.w3.org/TR/WGSL/#textureload allows for signed and unsigned values, but Metal only allows for unsigned values.

This results in the following error opening https://webgpu.github.io/webgpu-samples/samples/reversedZ -

MSL compilation error: Error Domain=MTLLibraryErrorDomain Code=3 "program_source:12:27: error: no matching member function for call to 'read'
    float local1 = local0.read(vec<int, 2>(floor(parameter0.xy)), 0);

if 'vec<int, 2>' was 'vec<uint, 2>' then it would compile
Comment 1 Radar WebKit Bug Importer 2023-09-25 16:44:30 PDT
<rdar://problem/116023220>