layout(set=0, binding=0) uniform bufferOne { int[4] x; }; layout(set=0, binding=0) uniform bufferTwo { int[4] y; }; // Not a duplicate, as "set = -1". layout(binding=0) uniform bufferThree { float z; }; // Duplicates: layout(binding=1) uniform bufferFour { float w; }; layout(binding=1) uniform bufferFive { float q; }; // Should not generate any errors despite overlap with above. // TODO(skia:13664): Graphite currently generates programs with overlapping indices across interface // blocks and texture/sampler types. WGSL requires this to become an error. layout(set=0, binding=0, rgba32f) readonly texture2D t; void main() { } /*%%* layout(set=0, binding=0) has already been defined layout(binding=1) has already been defined *%%*/