12 uniform sampler2D s2D;
13 centroid varying vec2 centTexCoord;
23 mat2x3 m23 = mat2x3(m);
28 float[2] ia = float[2](3, i.y);
54 i.xy + i.xyz; // ERROR
57 int aoeu = 1.0; // ERROR
65 gl_FragColor = texture2D(s2D, centTexCoord);
73 //packed; // ERROR, reserved word
79 gl_FragColor += b ? v : m; // ERROR, types don't match around ":"
82 gl_FragColor.xr; // ERROR, swizzlers not from same field space
83 gl_FragColor.xyxyx.xy; // ERROR, cannot make a vec5, even temporarily
84 centTexCoord.z; // ERROR, swizzler out of range
85 (a,b) = true; // ERROR, not an l-value
91 int main() {} // ERROR
92 void main(int a) {} // ERROR
97 int foo(out float a) // ERROR
105 if (abs(v[0]) < 1e-4F && abs(v[1]) < 1e-4)
115 return v1(); // ERROR, no expression allowed, even though void
120 vec4 v = gl_TexCoord[1];
124 varying vec4 gl_TexCoord[6]; // okay, assigning a size
125 varying vec4 gl_TexCoord[5]; // ERROR, changing size
141 mat2 r2 = matrixCompMult(m22, m22);
142 mat3 r3 = matrixCompMult(m33, m33);
143 mat4 r4 = matrixCompMult(m44, m44);
145 mat2x3 r23 = matrixCompMult(m23, m23);
146 mat2x4 r24 = matrixCompMult(m24, m24);
147 mat3x2 r32 = matrixCompMult(m32, m32);
148 mat3x4 r34 = matrixCompMult(m34, m34);
149 mat4x2 r42 = matrixCompMult(m42, m42);
150 mat4x3 r43 = matrixCompMult(m43, m43);
152 mat3x2 rfoo1 = matrixCompMult(m23, m32); // ERROR
153 mat3x4 rfoo2 = matrixCompMult(m34, m44); // ERROR
160 mat4 m4b1 = mat4(v2, v3); // ERROR, not enough
161 mat4 m4b2 = mat4(v2, v3, v3, v3, v3, v2, v2); // ERROR, too much
162 mat4 m4g = mat4(v2, v3, v3, v3, v3, v3);
163 mat4 m4 = mat4(v2, v3, v3, v3, v3, v2);
165 mat3 m3b1 = mat3(m4, v2); // ERROR, extra arg
166 mat3 m3b2 = mat3(m4, m4); // ERROR, extra arg
167 mat3x2 m32 = mat3x2(m4);
168 mat4 m4c = mat4(m32);
169 mat3 m3s = mat3(v2.x);
171 mat3 m3a1[2] = mat3[2](m3s, m3s);
172 mat3 m3a2[2] = mat3[2](m3s, m3s, m3s); // ERROR, too many args
175 uniform sampler3D s3D;
176 uniform sampler1D s1D;
177 uniform sampler2DShadow s2DS;
184 v = texture2DLod(s2D, v2, f); // ERROR
185 v = texture3DProjLod(s3D, v, f); // ERROR
186 v = texture1DProjLod(s1D, v, f); // ERROR
187 v = shadow2DProjLod(s2DS, v, f); // ERROR
189 v = texture1DGradARB(s1D, f, f, f); // ERROR
190 v = texture2DProjGradARB(s2D, v, v2, v2); // ERROR
191 v = shadow2DProjGradARB(s2DS, v, v2, v2); // ERROR
194 #extension GL_ARB_shader_texture_lod : require
201 v = texture2DLod(s2D, v2, f);
202 v = texture3DProjLod(s3D, v, f);
203 v = texture1DProjLod(s1D, v, f);
204 v = shadow2DProjLod(s2DS, v, f);
206 v = texture1DGradARB(s1D, f, f, f);
207 v = texture2DProjGradARB(s2D, v, v2, v2);
208 v = shadow2DProjGradARB(s2DS, v, v2, v2);
209 v = shadow2DRectProjGradARB(s2DS, v, v2, v2); // ERROR
212 uniform sampler2DRect s2DRbad; // ERROR
217 vec4 v = texture2DRect(s2DRbad, v2);
220 #extension GL_ARB_texture_rectangle : enable
222 uniform sampler2DRect s2DR;
223 uniform sampler2DRectShadow s2DRS;
231 v = texture2DRect(s2DR, v2);
232 v = texture2DRectProj(s2DR, v3);
233 v = texture2DRectProj(s2DR, v4);
234 v = shadow2DRect(s2DRS, v3);
235 v = shadow2DRectProj(s2DRS, v4);
237 v = shadow2DRectProjGradARB(s2DRS, v, v2, v2);
243 b ? foo121111() : foo12111();
244 b ? foo121111() : 4; // ERROR
245 b ? 3 : foo12111(); // ERROR
248 float halfFloat1 = 1.0h; // syntax ERROR
\r