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