ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.10 / execution / vs-loop-zero-iterations-two-exits2.shader_test
blobf2ebaf46a2e6249bc7f2dec529675bae05eaf305
1 # This tests unrolling of a loop with two exit point where the trip count
2 # of one of the exits is known to be zero and the other unknown
3 # (loop_count uniform).
4 [require]
5 GLSL >= 1.10
7 [vertex shader]
8 uniform int loop_count;
10 void main()
12   gl_Position = gl_Vertex;
13   /* Make sure that loop_count uniform live */
14   float one = float(loop_count == 0 || loop_count == 1);
16   vec4 colour = vec4(0.0, 1.0, 0.0, one);
18   for (int i = 0; i < 0; i++) {
19      colour = vec4(1.0, 0.0, 0.0, 1.0);
21      if (i == loop_count)
22         break;
23   }
25   gl_FrontColor = colour;
28 [fragment shader]
29 void main()
31   gl_FragColor = gl_Color;
34 [test]
35 clear color 0.5 0.5 0.5 0.5
37 uniform int loop_count 1
38 draw rect -1 -1 2 2
39 probe all rgba 0.0 1.0 0.0 1.0
41 uniform int loop_count 0
42 draw rect -1 -1 2 2
43 probe all rgba 0.0 1.0 0.0 1.0