1 2out vec4 sk_FragColor; 3struct SomeData { 4 vec4 a; 5 vec2 b; 6}; 7layout (binding = 0, set = 0) readonly buffer storageBuffer { 8 uint offset; 9 SomeData[] inputData; 10}; 11layout (binding = 1, set = 0) buffer outputBuffer { 12 SomeData[] outputData; 13}; 14layout (location = 2) flat in int bufferIndex; 15vec4 main() { 16 outputData[offset] = inputData[offset]; 17 return inputData[bufferIndex].a * inputData[bufferIndex].b.x; 18} 19