| #version 420 | |
| layout(local_size_x = 2) in; // ERROR, no compute | |
| #extension GL_ARB_compute_shader : enable | |
| layout(local_size_x = 2, local_size_y = 4, local_size_z = 6) in; | |
| shared vec3 sfoo; | |
| void main() | |
| { | |
| sfoo = vec3(gl_WorkGroupSize.x, gl_WorkGroupSize.y, gl_WorkGroupSize.z); | |
| sfoo += gl_WorkGroupSize + gl_NumWorkGroups + gl_WorkGroupID + gl_LocalInvocationID + gl_GlobalInvocationID; | |
| sfoo *= gl_LocalInvocationIndex; | |
| sfoo += gl_MaxComputeWorkGroupCount + gl_MaxComputeWorkGroupSize; | |
| sfoo *= gl_MaxComputeUniformComponents + | |
| gl_MaxComputeTextureImageUnits + | |
| gl_MaxComputeImageUniforms + | |
| gl_MaxComputeAtomicCounters + | |
| gl_MaxComputeAtomicCounterBuffers; | |
| barrier(); | |
| memoryBarrier(); | |
| memoryBarrierAtomicCounter(); | |
| memoryBarrierBuffer(); | |
| memoryBarrierImage(); | |
| memoryBarrierShared(); | |
| groupMemoryBarrier(); | |
| } |