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};