ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.10 / execution / vs-inner-loop-counts-outer-loop-var.shader_test
blobe2e00e71f945bf0693b9f4898b83beace5e010c9
1 # Check that when computing the number of iterations executed by
2 # nested loops, loop analysis doesn't assume that an increment in the
3 # inner loop executes once per invocation of the outer loop.
5 [require]
6 GLSL >= 1.10
8 [vertex shader]
9 attribute vec4 piglit_vertex;
10 varying vec4 color;
12 void main()
14   int num_total_iterations = 0;
15   int i = 0;
16   while (i < 6) { // Executes twice, since inner loop increments i each time through
17     for (int j = 0; j < 3; j++) { // Executes 3 times
18       num_total_iterations++;
19       i++;
20     }
21   }
22   gl_Position = piglit_vertex;
23   if (num_total_iterations == 6)
24     color = vec4(0.0, 1.0, 0.0, 1.0);
25   else
26     color = vec4(1.0, 0.0, 0.0, 1.0);
29 [fragment shader]
30 varying vec4 color;
32 void main()
34   gl_FragColor = color;
37 [test]
38 draw rect -1 -1 2 2
39 probe all rgba 0 1 0 1