Files
gpgpu-two/shaders/A2Task1Interleaved.comp
2025-12-27 22:01:42 +01:00

28 lines
544 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 stride;
}p;
layout(binding = 0) buffer inoutBufer {uint v[];};
void main() {
uint idx = gl_GlobalInvocationID.x * 2 * p.stride;
if (idx + p.stride >= p.size) {
return;
}
v[idx] += v[idx + p.stride];
}