3 layout(vertices = 4) out;
\r
4 int outa[gl_out.length()];
\r
6 layout(quads) in; // ERROR
\r
7 layout(ccw) out; // ERROR
\r
8 layout(fractional_even_spacing) in; // ERROR
\r
10 patch in vec4 patchIn; // ERROR
\r
11 patch out vec4 patchOut;
\r
17 int a = gl_MaxTessControlInputComponents +
\r
18 gl_MaxTessControlOutputComponents +
\r
19 gl_MaxTessControlTextureImageUnits +
\r
20 gl_MaxTessControlUniformComponents +
\r
21 gl_MaxTessControlTotalOutputComponents;
\r
23 vec4 p = gl_in[1].gl_Position;
\r
24 float ps = gl_in[1].gl_PointSize;
\r
25 float cd = gl_in[1].gl_ClipDistance[2];
\r
27 int pvi = gl_PatchVerticesIn;
\r
28 int pid = gl_PrimitiveID;
\r
29 int iid = gl_InvocationID;
\r
31 gl_out[gl_InvocationID].gl_Position = p;
\r
32 gl_out[gl_InvocationID].gl_PointSize = ps;
\r
33 gl_out[gl_InvocationID].gl_ClipDistance[1] = cd;
\r
35 gl_TessLevelOuter[3] = 3.2;
\r
36 gl_TessLevelInner[1] = 1.3;
\r
54 a < 12 ? a : (barrier(), a); // ERROR
\r
64 layout(vertices = 4) in; // ERROR
\r
65 layout(vertices = 5) out; // ERROR
\r
69 gl_out[4].gl_PointSize; // ERROR
\r
74 in vec2 ina; // ERROR, not array
\r
76 in vec2 inc[18]; // ERROR, wrong size
\r
77 in vec2 ind[gl_MaxPatchVertices];
\r
79 #extension GL_ARB_separate_shader_objects : enable
\r
81 layout(location = 3) in vec4 ivla[];
\r
82 layout(location = 4) in vec4 ivlb[];
\r
83 layout(location = 4) in vec4 ivlc[]; // ERROR, overlapping
\r
85 layout(location = 3) out vec4 ovla[];
\r
86 layout(location = 4) out vec4 ovlb[];
\r
87 layout(location = 4) out vec4 ovlc[]; // ERROR, overlapping
\r
96 pv3 = fma(pv3, pv3, pv3);
\r
104 invariant precise out vec4 badOrder[]; // ERROR, precise must appear first
\r
105 void badp(out precise float f); // ERROR, precise must appear first
\r
109 gl_DeviceIndex; // ERROR, no extension
110 gl_ViewIndex; // ERROR, no extension
113 #ifdef GL_EXT_device_group
114 #extension GL_EXT_device_group : enable
117 #ifdef GL_EXT_multiview
118 #extension GL_EXT_multiview : enable