1*c8dee2aaSAndroid Build Coastguard Worker// Valid declarations: 2*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, binding=0) uniform ubo1 { float a; }; // valid 3*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, binding=0) buffer ssbo { float b; }; // valid 4*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, rgba32f, set=0, texture=0) readonly texture2D rtexture1; // valid 5*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, rgba32f, set=0, texture=0) writeonly texture2D wtexture1; // valid 6*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, texture=0, sampler=0) sampler2D sampler1; // valid 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker// TODO(skia:14023): This should require 'texture' once the WGSL backend supports it 9*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, rgba32f, set=0, binding=0) readonly texture2D rtexture2; // valid 10*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, rgba32f, set=0, binding=0) writeonly texture2D wtexture2; // valid 11*c8dee2aaSAndroid Build Coastguard Worker// TODO(skia:14023): This should require 'texture' and 'sampler' once the WGSL backend supports it 12*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, binding=0) sampler2D sampler2; // valid 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Worker// Invalid declarations: 15*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, rgba32f, set=0, sampler=0) readonly texture2D rtexture3; // invalid (has sampler) 16*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, rgba32f, set=0, sampler=0) writeonly texture2D wtexture3; // invalid (has sampler) 17*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, texture=0) readonly texture2D rtexture4; // invalid (no pixformat) 18*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, texture=0) writeonly texture2D wtexture4; // invalid (no pixformat) 19*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, binding=0, texture=0, sampler=0) sampler2D sampler3; // invalid 20*c8dee2aaSAndroid Build Coastguard Workerlayout(webgpu, set=0, texture=0, sampler=0) uniform ubo2 { float c; }; // invalid 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard Worker/*%%* 23*c8dee2aaSAndroid Build Coastguard Workerlayout qualifier 'sampler' is not permitted here 24*c8dee2aaSAndroid Build Coastguard Workerlayout qualifier 'sampler' is not permitted here 25*c8dee2aaSAndroid Build Coastguard Workerstorage textures must declare a pixel format 26*c8dee2aaSAndroid Build Coastguard Workerstorage textures must declare a pixel format 27*c8dee2aaSAndroid Build Coastguard Worker'binding' modifier cannot coexist with 'texture'/'sampler' 28*c8dee2aaSAndroid Build Coastguard Workerlayout qualifier 'texture' is not permitted here 29*c8dee2aaSAndroid Build Coastguard Workerlayout qualifier 'sampler' is not permitted here 30*c8dee2aaSAndroid Build Coastguard Worker*%%*/ 31