xkslang/Test/spv.450.tesc

33 строки
932 B
GLSL

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