#version 310 es
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;

struct Foo
{
    mat4 m;
};

layout(binding = 1, std430) writeonly buffer SSBO2
{
    Foo out_data[];
} _23;

layout(binding = 0, std430) readonly buffer SSBO
{
    Foo in_data[];
} _30;

void main()
{
    uint ident = gl_GlobalInvocationID.x;
    _23.out_data[ident].m = _30.in_data[ident].m * _30.in_data[ident].m;
}

