8 varying vec2 v2; // ERROR, varying reserved
9 in vec4 bad[10]; // ERROR, no arrayed inputs
10 highp in vec4 badorder; // ERROR, incorrect qualifier order
11 out invariant vec4 badorder2; // ERROR, incorrect qualifier order
12 in centroid vec4 badorder4; // ERROR, incorrect qualifier order
13 out flat vec4 badorder3; // ERROR, incorrect qualifier order
14 void bar(in const float a); // ERROR, incorrect qualifier order
15 void bar2(highp in float b); // ERROR, incorrect qualifier order
16 smooth flat out vec4 rep; // ERROR, replicating interpolation qualification
17 centroid sample out vec4 rep2; // ERROR, replicating auxiliary qualification
18 in uniform vec4 rep3; // ERROR, replicating storage qualification
29 int id = gl_VertexID + gl_InstanceID;
31 int c0 = gl_MaxVertexAttribs;
32 int c1 = gl_MaxVertexUniformVectors;
33 int c2 = gl_MaxVertexOutputVectors;
34 int c3 = gl_MaxFragmentInputVectors;
35 int c4 = gl_MaxVertexTextureImageUnits;
36 int c5 = gl_MaxCombinedTextureImageUnits;
37 int c6 = gl_MaxTextureImageUnits;
38 int c7 = gl_MaxFragmentUniformVectors;
39 int c8 = gl_MaxDrawBuffers;
40 int c9 = gl_MinProgramTexelOffset;
41 int c10 = gl_MaxProgramTexelOffset;
43 mat3x4 tm = transpose(m43);
44 highp float dm = determinant(m44);
45 mat3x3 im = inverse(m33);
47 mat3x2 op = outerProduct(v2, v3);
58 #error GL_ES is not set
62 float badsize[]; // ERROR
63 float[] badsize2; // ERROR
67 void foo(int a[]); // ERROR
68 float okayA[] = float[](3.0f, 4.0F); // Okay
76 invariant newV; // ERROR, variable already used
78 invariant invIn; // ERROR, in v300
88 uniform ub2 { // ERROR redeclaration of block name (same instance name)
92 uniform ub2 { // ERROR redeclaration of block name (different instance name)
96 uniform ub2 { // ERROR redeclaration of block name (no instance name)
104 uniform ub3 { // ERROR redeclaration of block name (no instance name in first or declared)
108 precision lowp sampler3D;
109 precision lowp sampler2DShadow;
110 precision lowp sampler2DArrayShadow;
112 uniform sampler2D s2D;
113 uniform sampler3D s3D;
114 uniform sampler2DShadow s2DS;
115 uniform sampler2DArrayShadow s2DAS;
120 ivec2 x1 = textureSize(s2D, 2);
121 textureSize(s2D); // ERROR, no lod
122 ivec3 x3 = textureSize(s2DAS, -1);
123 textureSize(s2DAS); // ERROR, no lod
124 vec4 x4 = texture(s2D, c2D);
125 texture(s2D, c2D, 0.2); // ERROR, bias
126 vec4 x5 = textureProjOffset(s3D, vec4(0.2), ivec3(1));
127 textureProjOffset(s3D, vec4(0.2), ivec3(1), .03); // ERROR, bias
128 float x6 = textureProjGradOffset(s2DS, invIn, vec2(4.2), vec2(5.3), ivec2(1));
131 int fgfg(float f, mediump int i);
132 int fgfg(float f, highp int i); // ERROR, precision qualifier difference
134 int fgfgh(float f, const in mediump int i);
135 int fgfgh(float f, in mediump int i); // ERROR, precision qualifier difference
139 float[] x = float[] (1.0, 2.0, 3.0);
146 int[] foo213234(); // ERROR
147 int foo234234(float[]); // ERROR
148 int foo234235(vec2[] v); // ERROR
149 precision highp float[2]; // ERROR
155 int gggf(float f) { return 2; }
158 int agggf(float f) { return 2; }
161 out struct Ssss { float f; } ssss;
168 layout(std140) Binst; // ERROR
169 layout(std140) Bblock; // ERROR
170 layout(std140) Bfoo; // ERROR
172 layout(std430) uniform B430 { int a; } B430i; // ERROR
180 float[] x = float[] (1.0, 2.0, 3.0),
181 y = float[] (1.0, 2.0, 3.0, 4.0);
185 xp = y; // ERROR, wrong size
186 yp = x; // ERROR, wrong size
189 layout(num_views = 2) in; // ERROR, no extension
193 gl_ViewID_OVR; // ERROR, no extension
196 #extension GL_OVR_multiview : enable
198 layout(num_views = 2) uniform float mwUniform; // ERROR, must be global
199 layout(num_views = 2) in; // OK