spv.450.tesc 932 B

123456789101112131415161718192021222324252627282930313233
  1. #version 450 core
  2. layout(vertices = 4) out;
  3. layout(location=1) patch out vec4 patchOut;
  4. struct S {
  5. float sMem1; // should not see a patch decoration
  6. float sMem2; // should not see a patch decoration
  7. };
  8. layout(location = 12) patch out TheBlock {
  9. highp float bMem1; // should not see a location decoration
  10. highp float bMem2;
  11. S s; // should see a patch decoration
  12. } tcBlock[2];
  13. void main()
  14. {
  15. gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
  16. }
  17. layout(location = 2) patch out SingleBlock {
  18. highp float bMem1; // should not see a location decoration
  19. highp float bMem2;
  20. S s; // should see a patch decoration
  21. } singleBlock;
  22. layout(location = 20) patch out bn {
  23. vec4 v1; // location 20
  24. layout(location = 24) vec4 v2; // location 24
  25. vec4 v3; // location 25
  26. };