Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / 420.comp
1 #version 420\r
2 \r
3 layout(local_size_x = 2) in;  // ERROR, no compute\r
4 \r
5 #extension GL_ARB_compute_shader : enable\r
6 \r
7 layout(local_size_x = 2, local_size_y = 4, local_size_z = 6) in;\r
8 \r
9 shared vec3 sfoo;\r
10 \r
11 void main()\r
12 {\r
13     sfoo = vec3(gl_WorkGroupSize.x, gl_WorkGroupSize.y, gl_WorkGroupSize.z);\r
14     sfoo += gl_WorkGroupSize + gl_NumWorkGroups + gl_WorkGroupID + gl_LocalInvocationID + gl_GlobalInvocationID;\r
15     sfoo *= gl_LocalInvocationIndex;\r
16     sfoo += gl_MaxComputeWorkGroupCount + gl_MaxComputeWorkGroupSize;\r
17     sfoo *= gl_MaxComputeUniformComponents +\r
18             gl_MaxComputeTextureImageUnits +\r
19             gl_MaxComputeImageUniforms +\r
20             gl_MaxComputeAtomicCounters +\r
21             gl_MaxComputeAtomicCounterBuffers;\r
22 \r
23     barrier();\r
24     memoryBarrier();\r
25     memoryBarrierAtomicCounter();\r
26     memoryBarrierBuffer();\r
27     memoryBarrierImage();\r
28     memoryBarrierShared();\r
29     groupMemoryBarrier();\r
30 }