struct SomeData {
    float4 a;
    float2 b;
};

layout(set=0, binding=0) readonly buffer storageBuffer
{
    uint offset;
    SomeData[] inputData;
};

layout(set=0, binding=1) buffer outputBuffer
{
    SomeData[] outputData;
};

layout(location=2) in flat int bufferIndex;

half4 main(float2 coords) {
    outputData[offset] = inputData[offset];
    return half4(inputData[bufferIndex].a * inputData[bufferIndex].b.x);
}
