Add more structure constructor tests.
[piglit/hramrach.git] / tests / shaders / glsl-vs-constructor-call.shader_test
blobbe0803a5e4250b519ea860bf0a8a15ee081df755
1 [require]
2 GL >= 2.0
3 GLSL >= 1.10
5 [vertex shader]
6 /* this is a test for a bug in constructor handling in glsl2.  It
7  * would evaluate the expression used in the constructor for each
8  * channel it needed to pull out.
9 */
10 vec4 color = vec4(0.0);
12 vec2 get_val()
14         color += vec4(1.0, 1.0, 0.0, 0.0);
15         return vec2(1.0, 0.0);
18 void main()
20         vec4 val = vec4(get_val(), 0.0, 0.0);
21         val += color;
23         /* If the bug is present, val is (3,2,0,0), but it should be
24          * (2,1,0,0).
25          */
26         gl_FrontColor = val - vec4(2.0, 0, 0.0, 0.0);
27         gl_Position = gl_Vertex;
30 [fragment shader file]
31 glsl-color.frag
33 [test]
34 draw rect -1 -1 2 2
35 probe rgb 1 1 0.0 1.0 0.0