| #version 450 core
|
|
|
| layout(vertices = 4) out;
|
|
|
| layout(location=1) patch out vec4 patchOut;
|
|
|
| struct S {
|
| float sMem1; // should not see a patch decoration
|
| float sMem2; // should not see a patch decoration
|
| };
|
|
|
| layout(location = 12) patch out TheBlock {
|
| highp float bMem1; // should not see a location decoration
|
| highp float bMem2;
|
| S s; // should see a patch decoration
|
| } tcBlock[2];
|
|
|
| void main()
|
| {
|
| gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; |
| }
|
|
|
| layout(location = 2) patch out SingleBlock {
|
| highp float bMem1; // should not see a location decoration
|
| highp float bMem2;
|
| S s; // should see a patch decoration
|
| } singleBlock;
|
|
|
| layout(location = 20) patch out bn {
|
| vec4 v1; // location 20
|
| layout(location = 24) vec4 v2; // location 24
|
| vec4 v3; // location 25
|
| }; |