3 int a[3] = { 2, 3, 4, }; // ERROR (lots)
\r
7 attribute vec4 v[3]; // ERROR
\r
9 float f = 2; // ERROR
\r
11 uniform block { // ERROR
\r
20 int s = 1 << 4; // ERROR
\r
21 s = 16 >> 2; // ERROR
\r
22 if (a == a); // ERROR
\r
37 if (s1 == s2); // ERROR
\r
38 if (s1 != s2); // ERROR
\r
40 switch(b) { // ERROR
\r
44 invariant gl_FragColor;
\r
45 float fa[]; // ERROR
\r
47 invariant f13; // ERROR
\r
48 struct S { int a; };
\r
49 invariant S; // ERROR, not an input or output
\r
50 invariant float fi; // ERROR
\r
52 invariant av; // okay in v100
\r
56 invariant f; // ERROR
\r
57 invariant float f2; // ERROR
\r
59 invariant f3; // ERROR
\r
63 invariant uv2; // ERROR
\r
64 invariant uniform vec3 uv3; // ERROR
\r
66 sampler2D glob2D; // ERROR
\r
67 void f11(sampler2D p2d)
\r
69 sampler2D v2D; // ERROR
\r
71 varying sampler2D vary2D; // ERROR
\r
75 in float g; // ERROR
\r
76 uniform float h; // ERROR
\r
77 invariant float i; // ERROR
\r
80 uniform sampler3D s3D; // ERROR
\r
82 #extension GL_OES_texture_3D : enable
\r
84 precision highp sampler3D;
\r
85 uniform sampler3D s3D2;
\r
89 texture3D(s3D2, vec3(0.2), 0.2);
\r
90 texture3DProj(s3D2, v[1], 0.4);
\r
91 dFdx(v[0]); // ERROR
\r
93 fwidth(f13); // ERROR
\r
96 #extension GL_OES_standard_derivatives : enable
\r
103 gl_FragDepth = f13; // ERROR
\r
104 gl_FragDepthEXT = f13; // ERROR
\r
107 #extension GL_EXT_frag_depth : enable
\r
111 gl_FragDepth = f13; // ERROR
\r
112 gl_FragDepthEXT = f13;
\r
115 #extension GL_OES_EGL_image_external : enable
\r
117 uniform samplerExternalOES sExt;
\r
121 texture2D(sExt, vec2(0.2));
\r
122 texture2DProj(sExt, vec3(f13));
\r
123 texture2DProj(sExt, v[2]);
\r
126 precision mediump samplerExternalOES;
\r
127 uniform samplerExternalOES mediumExt;
\r
128 uniform highp samplerExternalOES highExt;
\r
132 texture2D(mediumExt, vec2(0.2));
\r
133 texture2DProj(highExt, v[2]);
\r
134 texture3D(sExt, vec3(f13)); // ERROR
\r
135 texture2DProjLod(sExt, vec3(f13), f13); // ERROR
\r
142 #extension GL_OES_EGL_image_external : disable
\r
143 uniform sampler2D s2Dg;
\r
145 int foo203940(int a, float b, float a) // ERROR, a redefined
\r
147 texture2DProjGradEXT(s2Dg, vec3(f13), uv2, uv2); // ERROR, extension not enabled
\r
151 float f123 = 4.0f; // ERROR
\r
152 float f124 = 5e10F; // ERROR
\r
154 #extension GL_EXT_shader_texture_lod : enable
\r
156 uniform samplerCube sCube;
\r
160 texture2DLodEXT(s2Dg, uv2, f13);
\r
161 texture2DProjGradEXT(s2Dg, vec3(f13), uv2, uv2);
\r
162 texture2DGradEXT(s2Dg, uv2, uv2, uv2);
\r
163 textureCubeGradEXT(sCube, vec3(f13), vec3(f13), vec3(f13));
\r
166 int fgfg(float f, mediump int i);
\r
167 int fgfg(float f, highp int i) { return 2; } // ERROR, precision qualifier difference
\r
170 int fffg(float f); // ERROR, can't have multiple prototypes
\r
173 int gggf(float f) { return 2; }
\r
175 int agggf(float f) { return 2; }
\r
176 int agggf(float f);
\r
177 int agggf(float f); // ERROR, second prototype
\r
179 varying struct SSS { float f; } s; // ERROR
\r
183 int vf3(void v); // ERROR
\r
184 int vf4(int, void); // ERROR
\r
185 int vf5(int, void v); // ERROR
\r
190 a.y; // ERROR, no array swizzle
\r
191 a.zy; // ERROR, no array swizzle
\r
192 a.nothing; // ERROR
\r
193 a.length(); // ERROR, not this version
\r
194 a.method(); // ERROR
\r
199 float fooinittest()
\r
204 // Test extension GL_EXT_blend_func_extended
\r
205 void blendFuncFail() // Error since extension GL_EXT_blend_func_extended is disabled
\r
207 gl_SecondaryFragColorEXT = vec4(1.0);
\r
208 gl_SecondaryFragDataEXT[gl_MaxDualSourceDrawBuffersEXT - 1] = vec4(0.1);
\r
210 #extension GL_EXT_blend_func_extended : enable
\r
213 gl_SecondaryFragColorEXT = vec4(1.0);
\r
214 gl_SecondaryFragDataEXT[gl_MaxDualSourceDrawBuffersEXT - 1] = vec4(0.1);
\r
217 // Test extra-function initializers
\r
218 const float fi1 = 3.0;
\r
219 const float fi2 = 4.0;
\r
220 const float fi3 = 5.0;
\r
224 return fi1 + fi2 + fi3; // should make a constant of 12.0
\r
227 int init1 = gl_FrontFacing ? 1 : 2; // ERROR, non-const initializer
\r
229 #ifdef GL_EXT_shader_non_constant_global_initializers
\r
230 #extension GL_EXT_shader_non_constant_global_initializers : enable
\r
233 int init2 = gl_FrontFacing ? 1 : 2;
\r
235 #define A__B // error
\r
238 #pragma STDGL invariant(all)
\r
241 #error line of this error should be 3000
\r
243 uniform samplerExternalOES badExt; // syntax ERROR
\r