#version 310 es layout(local_size_x_id = 18, local_size_z_id = 19) in; layout(local_size_x = 2) in; layout(local_size_y = 5) in; layout(local_size_z = 7) in; const int total = gl_MaxComputeWorkGroupCount.x + gl_MaxComputeWorkGroupCount.y + gl_MaxComputeWorkGroupCount.z + gl_MaxComputeUniformComponents + gl_MaxComputeTextureImageUnits; shared vec4 s[total]; int arrX[gl_WorkGroupSize.x]; int arrY[gl_WorkGroupSize.y]; int arrZ[gl_WorkGroupSize.z]; void main() { barrier(); memoryBarrier(); memoryBarrierShared(); groupMemoryBarrier(); s[3] = vec4(1.0); s[3] *= arrX[0] * arrY[0] * arrZ[0]; }