#version 310 es layout(local_size_x = 1) in; // TODO: Read structs, matrices and arrays. layout(std430, binding = 0) readonly buffer SSBO { vec4 a[3][2][4]; float b[3][2][4]; vec4 unsized[]; } ro; layout(std430, binding = 1) writeonly buffer SSBO1 { vec4 c[3][2][4]; float d[3][2][4]; vec4 unsized[]; } wo; void main() { wo.c[2][gl_GlobalInvocationID.x][1] = ro.a[1][gl_GlobalInvocationID.x][2]; wo.unsized[gl_GlobalInvocationID.x] = ro.unsized[gl_GlobalInvocationID.x]; }