420.comp 932 B

123456789101112131415161718192021222324252627282930
  1. #version 420
  2. layout(local_size_x = 2) in; // ERROR, no compute
  3. #extension GL_ARB_compute_shader : enable
  4. layout(local_size_x = 2, local_size_y = 4, local_size_z = 6) in;
  5. shared vec3 sfoo;
  6. void main()
  7. {
  8. sfoo = vec3(gl_WorkGroupSize.x, gl_WorkGroupSize.y, gl_WorkGroupSize.z);
  9. sfoo += gl_WorkGroupSize + gl_NumWorkGroups + gl_WorkGroupID + gl_LocalInvocationID + gl_GlobalInvocationID;
  10. sfoo *= gl_LocalInvocationIndex;
  11. sfoo += gl_MaxComputeWorkGroupCount + gl_MaxComputeWorkGroupSize;
  12. sfoo *= gl_MaxComputeUniformComponents +
  13. gl_MaxComputeTextureImageUnits +
  14. gl_MaxComputeImageUniforms +
  15. gl_MaxComputeAtomicCounters +
  16. gl_MaxComputeAtomicCounterBuffers;
  17. barrier();
  18. memoryBarrier();
  19. memoryBarrierAtomicCounter();
  20. memoryBarrierBuffer();
  21. memoryBarrierImage();
  22. memoryBarrierShared();
  23. groupMemoryBarrier();
  24. }