perf/pixel-rate: new pixel throughput microbenchmark
[piglit.git] / tests / spec / glsl-1.10 / execution / loops / glsl-fs-loop-shadow-variables.shader_test
blob63077833e5f86bfd6cc639678afb859d5e0339b5
1 # Test that we handle shadow variables correctly inside loops
2 [require]
3 GLSL >= 1.10
5 [vertex shader passthrough]
7 [fragment shader]
8 #version 110
9 uniform int x;
11 void main()
15    gl_FragColor = vec4(1.0, 0.0, 0.0, 0.0);
17    for(int var_0 = 0; var_0 < 10; var_0 += 1) {
18       if (var_0 == x) {
19          const float var_0 = 0.25;
20          gl_FragColor = vec4(0.0, var_0, 0.0, 0.0);
21          continue;
22       }
24       {
25          const float var_0 = 0.5;
26          gl_FragColor = vec4(0.0, var_0, 0.0, 0.0);
27          continue;
28       }
29    }
31    if (x == 9 || x == 0) {
32       return;
33    }
35    for(int var_0 = 0; var_0 < 10; var_0 += 1) {
36       {
37          const float var_0 = 0.75;
38          if (x > 0)
39             if (x == 2) {
40                gl_FragColor = vec4(0.0, var_0, 0.0, 0.0);
41                continue;
42             } else
43                if (x == 1) {
44                   gl_FragColor = vec4(0.0, var_0, 0.0, 0.0);
45                   continue;
46                }
47       }
48    }
50    if (x == 1 || x == 2) {
51       return;
52    }
54    int var_0 = 0;
55    for(; var_0 < 10; var_0++) {
56       const float var_0 = 1.0;
57       gl_FragColor = vec4(0.0, var_0, 0.0, 0.0);
58    }
61 [test]
62 uniform int x 9
63 draw rect -1 -1 2 2
64 probe all rgb 0 0.25 0 0
66 uniform int x 0
67 draw rect -1 -1 2 2
68 probe all rgb 0 0.5 0 0
70 uniform int x 1
71 draw rect -1 -1 2 2
72 probe all rgb 0 0.75 0 0
74 uniform int x 2
75 draw rect -1 -1 2 2
76 probe all rgb 0 0.75 0 0
78 uniform int x 8
79 draw rect -1 -1 2 2
80 probe all rgb 0 1.0 0 0