perf/pixel-rate: new pixel throughput microbenchmark
[piglit.git] / tests / spec / glsl-1.10 / execution / glsl-vs-inline-explosion.shader_test
blobe08d3d5f76d9c1bf29441ca2345a9be6d0c4ef9c
1 // if you inline all functions indiscriminately, you won't pass this
2 [require]
3 GLSL >= 1.10
4 rlimit 268435456
6 [vertex shader]
7 void f64()
9 // use something that cannot be optimized away
10         gl_TexCoord[0] = exp(gl_TexCoord[0]);
13 void f63()
15         f64();
16         f64();
19 void f62()
21         f63();
22         f63();
25 void f61()
27         f62();
28         f62();
31 void f60()
33         f61();
34         f61();
37 void f59()
39         f60();
40         f60();
43 void f58()
45         f59();
46         f59();
49 void f57()
51         f58();
52         f58();
55 void f56()
57         f57();
58         f57();
61 void f55()
63         f56();
64         f56();
67 void f54()
69         f55();
70         f55();
73 void f53()
75         f54();
76         f54();
79 void f52()
81         f53();
82         f53();
85 void f51()
87         f52();
88         f52();
91 void f50()
93         f51();
94         f51();
97 void f49()
99         f50();
100         f50();
103 void f48()
105         f49();
106         f49();
109 void f47()
111         f48();
112         f48();
115 void f46()
117         f47();
118         f47();
121 void f45()
123         f46();
124         f46();
127 void f44()
129         f45();
130         f45();
133 void f43()
135         f44();
136         f44();
139 void f42()
141         f43();
142         f43();
145 void f41()
147         f42();
148         f42();
151 void f40()
153         f41();
154         f41();
157 void f39()
159         f40();
160         f40();
163 void f38()
165         f39();
166         f39();
169 void f37()
171         f38();
172         f38();
175 void f36()
177         f37();
178         f37();
181 void f35()
183         f36();
184         f36();
187 void f34()
189         f35();
190         f35();
193 void f33()
195         f34();
196         f34();
199 void f32()
201         f33();
202         f33();
205 void f31()
207         f32();
208         f32();
211 void f30()
213         f31();
214         f31();
217 void f29()
219         f30();
220         f30();
223 void f28()
225         f29();
226         f29();
229 void f27()
231         f28();
232         f28();
235 void f26()
237         f27();
238         f27();
241 void f25()
243         f26();
244         f26();
247 void f24()
249         f25();
250         f25();
253 void f23()
255         f24();
256         f24();
259 void f22()
261         f23();
262         f23();
265 void f21()
267         f22();
268         f22();
271 void f20()
273         f21();
274         f21();
277 void f19()
279         f20();
280         f20();
283 void f18()
285         f19();
286         f19();
289 void f17()
291         f18();
292         f18();
295 void f16()
297         f17();
298         f17();
301 void f15()
303         f16();
304         f16();
307 void f14()
309         f15();
310         f15();
313 void f13()
315         f14();
316         f14();
319 void f12()
321         f13();
322         f13();
325 void f11()
327         f12();
328         f12();
331 void f10()
333         f11();
334         f11();
337 void f9()
339         f10();
340         f10();
343 void f8()
345         f9();
346         f9();
349 void f7()
351         f8();
352         f8();
355 void f6()
357         f7();
358         f7();
361 void f5()
363         f6();
364         f6();
367 void f4()
369         f5();
370         f5();
373 void f3()
375         f4();
376         f4();
379 void f2()
381         f3();
382         f3();
385 void f1()
387         f2();
388         f2();
391 void f0()
393         f1();
394         f1();
397 void main()
399         gl_TexCoord[0] = vec4(0.1, 0.2, 0.3, 0.4);
400         if(gl_Vertex.x > 2.0) // this branch is never taken, but the compiler doesn't know this
401                 f0();
402         gl_Position = gl_Vertex;
404 [fragment shader]
405 void main()
407         gl_FragColor = gl_TexCoord[0];
410 [test]
411 draw rect -1 -1 2 2
412 probe all rgba 0.1 0.2 0.3 0.4