glsl: test loop unroll with uint overflow
[piglit.git] / tests / spec / glsl-1.10 / linker / override-builtin-uniform-04.shader_test
blob7337b2f89c1649fca44c7c53fa527db670a9b160
1 [require]
2 GLSL >= 1.10
4 [vertex shader]
5 void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }
7 [fragment shader]
8 /* From page 38 (page 44 of the PDF) of the GLSL 1.10 spec:
9  *
10  *     "A shader can redefine built-in functions. If a built-in function is
11  *     redeclared in a shader (i.e. a prototype is visible) before a call to
12  *     it, then the linker will only attempt to resolve that call within the
13  *     set shaders that are linked with it."
14  */
15 uniform vec4 v;
16 vec4 abs(vec4 x);
18 void main()
20   gl_FragColor = abs(v);
23 [fragment shader]
24 vec4 abs(vec4 x)
26   /* Return a swizzle of x instead of a constant value because we don't want
27    * the compiler to optimize away all uses of the uniform.  This will make
28    * the test fail because shader_runner won't be able to glGetUnformLocation
29    * on the uniform.
30    */
31   return x.yxzw;
34 [test]
35 uniform vec4 v 1.0 0.0 0.0 1.0
36 draw rect -1 -1 2 2
37 probe all rgb 0.0 1.0 0.0