perf/pixel-rate: new pixel throughput microbenchmark
[piglit.git] / tests / spec / glsl-1.10 / execution / glsl-fs-convolution-2.shader_test
blob9639b1a66f1195cadbfa870c035d0d4aa8767b11
1 [require]
2 GLSL >= 1.10
4 [vertex shader]
5 varying vec4 texcoords;
7 void main()
9         gl_Position = gl_Vertex;
10         texcoords = (gl_Vertex + 1.0) / 2.0;
13 [fragment shader]
14 varying vec4 texcoords;
15 uniform sampler2D tex;
17 #define FILTER_SIZE 34
18 uniform vec2 o[FILTER_SIZE];
19 uniform float c[FILTER_SIZE];
21 /* Testcase from Owen Taylor of a shader being experimented with in
22  * gnome-shell that failed on i965 due to register allocation.
24 * Unlike glsl-fs-convolution-1, this one prevented loop unrolling by
25 * using more iterations.
26  */
27 void main()
29         vec4 value = vec4(0.0);
30         for (int i = 0; i < FILTER_SIZE; i++) {
31                 value += c[i] * texture2D(tex, texcoords.xy + o[i]);
32         }
34         gl_FragColor = value;
37 [test]
38 uniform int tex 0
40 uniform float c[0] 0.0
41 uniform float c[1] 0.0
42 uniform float c[2] 0.0
43 uniform float c[3] 0.0
44 uniform float c[4] 0.0
45 uniform float c[5] 0.0
46 uniform float c[6] 0.0
47 uniform float c[7] 0.0
48 uniform float c[8] 0.0
49 uniform float c[9] 0.0
50 uniform float c[10] 0.0
51 uniform float c[11] 0.0
52 uniform float c[12] 0.0
53 uniform float c[13] 0.0
54 uniform float c[14] 0.0
55 uniform float c[15] 0.0
56 uniform float c[16] 0.0
57 uniform float c[17] 0.0
58 uniform float c[18] 0.0
59 uniform float c[19] 0.0
60 uniform float c[20] 1.0
61 uniform float c[21] 0.0
62 uniform float c[22] 0.0
63 uniform float c[23] 0.0
64 uniform float c[24] 0.0
65 uniform float c[25] 0.0
66 uniform float c[26] 0.0
67 uniform float c[27] 0.0
68 uniform float c[28] 0.0
69 uniform float c[29] 0.0
70 uniform float c[30] 0.0
71 uniform float c[31] 0.0
72 uniform float c[32] 0.0
73 uniform float c[33] 0.0
75 uniform vec2 o[0] -1.0 1.0
76 uniform vec2 o[1] -1.0 1.0
77 uniform vec2 o[2] -1.0 1.0
78 uniform vec2 o[3] -1.0 1.0
79 uniform vec2 o[4] -1.0 1.0
80 uniform vec2 o[5] -1.0 1.0
81 uniform vec2 o[6] -1.0 1.0
82 uniform vec2 o[7] -1.0 1.0
83 uniform vec2 o[8] -1.0 1.0
84 uniform vec2 o[9] -1.0 1.0
85 uniform vec2 o[10] -1.0 1.0
86 uniform vec2 o[11] -1.0 1.0
87 uniform vec2 o[12] -1.0 1.0
88 uniform vec2 o[13] -1.0 1.0
89 uniform vec2 o[14] -1.0 1.0
90 uniform vec2 o[15] -1.0 1.0
91 uniform vec2 o[16] -1.0 1.0
92 uniform vec2 o[17] -1.0 1.0
93 uniform vec2 o[18] -1.0 1.0
94 uniform vec2 o[19] -1.0 1.0
95 uniform vec2 o[20] 0.0 0.0
96 uniform vec2 o[21] -1.0 1.0
97 uniform vec2 o[22] -1.0 1.0
98 uniform vec2 o[23] -1.0 1.0
99 uniform vec2 o[24] -1.0 1.0
100 uniform vec2 o[25] -1.0 1.0
101 uniform vec2 o[26] -1.0 1.0
102 uniform vec2 o[27] -1.0 1.0
103 uniform vec2 o[28] -1.0 1.0
104 uniform vec2 o[29] -1.0 1.0
105 uniform vec2 o[30] -1.0 1.0
106 uniform vec2 o[31] -1.0 1.0
107 uniform vec2 o[32] -1.0 1.0
108 uniform vec2 o[33] -1.0 1.0
110 texture rgbw 0 (8, 8)
111 draw rect -1 -1 2 2
112 relative probe rgb (0.25, 0.25) (1.0, 0.0, 0.0)
113 relative probe rgb (0.75, 0.25) (0.0, 1.0, 0.0)
114 relative probe rgb (0.25, 0.75) (0.0, 0.0, 1.0)
115 relative probe rgb (0.75, 0.75) (1.0, 1.0, 1.0)