8 layout( std430, binding= 0 ) buffer inputData
13 layout( std430, binding= 1 ) buffer outputData
18 layout( std430, binding= 2 ) buffer countData
25 shared uint group_count;
26 shared uint group_offset;
28 layout( local_size_x=256 ) in;
31 uint ID= gl_GlobalInvocationID.x;
44 if(gl_LocalInvocationID.x == 0)
51 offset= atomicAdd(group_count, 1);
57 if(gl_LocalInvocationID.x == 0)
58 group_offset= atomicAdd(count, group_count);
65 b[group_offset+offset]= a[ID];