Files
gpgpu-two/shaders/A2Task1Sequential.comp

27 lines
537 B
Plaintext

#version 450
/* built in:
in uvec3 gl_NumWorkGroups;
in uvec3 gl_WorkGroupID;
in uvec3 gl_LocalInvocationID;
in uvec3 gl_GlobalInvocationID;
in uint gl_LocalInvocationIndex;
*/
layout(local_size_x_id = 0, local_size_y = 1, local_size_z = 1) in;
layout(push_constant) uniform PushStruct {
uint size;
uint offset;
} p;
layout(binding = 0) buffer inoutBufer { uint v[]; };
void main() {
uint gIDx = gl_GlobalInvocationID.x;
if (gIDx >= p.size) {
return;
}
v[gIDx] = v[gIDx] + v[gIDx + p.offset];
}