1*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=0) uniform bufferOne { int[4] x; }; 2*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=0) uniform bufferTwo { int[4] y; }; 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard Worker// Not a duplicate, as "set = -1". 5*c8dee2aaSAndroid Build Coastguard Workerlayout(binding=0) uniform bufferThree { float z; }; 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Worker// Duplicates: 8*c8dee2aaSAndroid Build Coastguard Workerlayout(binding=1) uniform bufferFour { float w; }; 9*c8dee2aaSAndroid Build Coastguard Workerlayout(binding=1) uniform bufferFive { float q; }; 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker// Should not generate any errors despite overlap with above. 12*c8dee2aaSAndroid Build Coastguard Worker// TODO(skia:13664): Graphite currently generates programs with overlapping indices across interface 13*c8dee2aaSAndroid Build Coastguard Worker// blocks and texture/sampler types. WGSL requires this to become an error. 14*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=0, rgba32f) readonly texture2D t; 15*c8dee2aaSAndroid Build Coastguard Worker 16*c8dee2aaSAndroid Build Coastguard Workervoid main() { 17*c8dee2aaSAndroid Build Coastguard Worker} 18*c8dee2aaSAndroid Build Coastguard Worker 19*c8dee2aaSAndroid Build Coastguard Worker/*%%* 20*c8dee2aaSAndroid Build Coastguard Workerlayout(set=0, binding=0) has already been defined 21*c8dee2aaSAndroid Build Coastguard Workerlayout(binding=1) has already been defined 22*c8dee2aaSAndroid Build Coastguard Worker*%%*/ 23