Created attachment 134977 [details]
Difference between the result of gl_GlobalInvocationID and gl_WorkGroupID.x *
gl_LocalGroupSizeARB.x + gl_LocalInvocationID.x;
The spec for ARB_compute_variable_group_size in this file
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_compute_variable_group_size.txt
state that gl_GlobalInvocationID = gl_WorkGroupID * gl_LocalGroupSizeARB +
gl_LocalInvocationID; but on my computer, arch linux with Radeon RX 580 Series
(AMD POLARIS10 / DRM 3.18.0 / 4.13.
7-1-ARCH, LLVM 5.0.0) : mesa version 17.2.2, gl_GlobalInvocationID =
gl_LocalInvocationID ; only. If I replace uint i = gl_GlobalInvocation.x with
uint i = gl_WorkGroupID.x * gl_LocalGroupSizeARB.x + gl_LocalInvocationID.x
the output of the compute shader work as expected.