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