#version 310 es layout(local_size_x = 4, local_size_y = 1, local_size_z = 1) in; layout(binding = 0, std430) readonly buffer SSBO { float in_data[]; } _22; layout(binding = 1, std430) writeonly buffer SSBO2 { float out_data[]; } _38; layout(binding = 2, std430) buffer SSBO3 { uint count; } _41; void main() { uint ident = gl_GlobalInvocationID.x; float idata = _22.in_data[ident]; if (idata > 12.0) { uint _45 = atomicAdd(_41.count, 1u); _38.out_data[_45] = idata; } }