2016-07-01 03:47:35 +00:00
|
|
|
#version 450 core
|
|
|
|
|
|
|
|
layout(vertices = 4) out;
|
|
|
|
|
2017-08-18 05:49:39 +00:00
|
|
|
layout(location=1) patch out vec4 patchOut;
|
2016-07-01 03:47:35 +00:00
|
|
|
|
|
|
|
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()
|
|
|
|
{
|
2017-08-18 05:49:39 +00:00
|
|
|
gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
|
2016-07-01 03:47:35 +00:00
|
|
|
}
|
2016-08-05 21:19:46 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
};
|