layout(local_size_x = 256) in; layout(set=0, binding=0) readonly buffer inputBlock { uint offset; int[] src; }; layout(set=0, binding=1) writeonly buffer outputBlock { int[] dest; }; void main() { dest[sk_GlobalInvocationID.x] = src[sk_GlobalInvocationID.x] + src[sk_GlobalInvocationID.x + offset]; }