- non-arrayed geometry inputs and tessellation-control outputs - include user blocks in i/o array resizing based on primitive type - things belonging only to 'in' or 'out' are verified only on 'in' or 'out' - invocation number changing - move shader-scoped qualifier checking into its class - remove an incidental union of two levels of the node hierarchy in the yacc stack - remove layout(location=) default tracking when setting on a variable git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24551 e7fa87d3-cd2b-0410-9028-fcbf551c1848
73 lines
1.9 KiB
GLSL
73 lines
1.9 KiB
GLSL
#version 400 core
|
|
|
|
layout(vertices = 4) out; // ERROR
|
|
layout(quads, cw) in;
|
|
layout(triangles) in; // ERROR
|
|
layout(isolines) in; // ERROR
|
|
|
|
layout(ccw) in; // ERROR
|
|
layout(cw) in;
|
|
|
|
layout(fractional_odd_spacing) in;
|
|
layout(equal_spacing) in; // ERROR
|
|
layout(fractional_even_spacing) in; // ERROR
|
|
|
|
layout(point_mode) in;
|
|
|
|
patch in vec4 patchIn;
|
|
patch out vec4 patchOut; // ERROR
|
|
|
|
void main()
|
|
{
|
|
barrier(); // ERROR
|
|
|
|
int a = gl_MaxTessEvaluationInputComponents +
|
|
gl_MaxTessEvaluationOutputComponents +
|
|
gl_MaxTessEvaluationTextureImageUnits +
|
|
gl_MaxTessEvaluationUniformComponents +
|
|
gl_MaxTessPatchComponents +
|
|
gl_MaxPatchVertices +
|
|
gl_MaxTessGenLevel;
|
|
|
|
vec4 p = gl_in[1].gl_Position;
|
|
float ps = gl_in[1].gl_PointSize;
|
|
float cd = gl_in[1].gl_ClipDistance[2];
|
|
|
|
int pvi = gl_PatchVerticesIn;
|
|
int pid = gl_PrimitiveID;
|
|
vec3 tc = gl_TessCoord;
|
|
float tlo = gl_TessLevelOuter[3];
|
|
float tli = gl_TessLevelInner[1];
|
|
|
|
gl_Position = p;
|
|
gl_PointSize = ps;
|
|
gl_ClipDistance[2] = cd;
|
|
}
|
|
|
|
smooth patch in vec4 badp1; // ERROR
|
|
flat patch in vec4 badp2; // ERROR
|
|
noperspective patch in vec4 badp3; // ERROR
|
|
patch sample in vec3 badp4; // ERROR
|
|
|
|
#extension GL_ARB_separate_shader_objects : enable
|
|
|
|
in gl_PerVertex
|
|
{
|
|
float gl_ClipDistance[1];
|
|
} gl_in[]; // ERROR, no size
|
|
|
|
in gl_PerVertex
|
|
{
|
|
float gl_ClipDistance[1];
|
|
} gl_in[gl_MaxPatchVertices];
|
|
|
|
layout(quads, cw) out; // ERROR
|
|
layout(triangles) out; // ERROR
|
|
layout(isolines) out; // ERROR
|
|
layout(cw) out; // ERROR
|
|
layout(fractional_odd_spacing) out; // ERROR
|
|
layout(equal_spacing) out; // ERROR
|
|
layout(fractional_even_spacing) out; // ERROR
|
|
layout(point_mode) out; // ERROR
|
|
|