#version 310 es layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; layout(binding = 0, std430) readonly buffer SSBO { vec4 in_data[]; } _23; layout(binding = 1, std430) writeonly buffer SSBO2 { vec4 out_data[]; } _45; layout(binding = 2, std430) buffer SSBO3 { uint counter; } _48; void main() { uint ident = gl_GlobalInvocationID.x; vec4 idata = _23.in_data[ident]; if (dot(idata, vec4(1.0, 5.0, 6.0, 2.0)) > 8.19999980926513671875) { uint _52 = atomicAdd(_48.counter, 1u); _45.out_data[_52] = idata; } }