ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.10 / execution / temp_arrays.shader_test
blobfc81473bd08d439c16d7a1ce02ac398ee0f1985d
1 [require]
2 GLSL >= 1.10
4 [vertex shader]
6 /**
7  * This test exercises arrays indexed with a variable.
8  * We test with two arrays to be sure at least one is positioned
9  * above TEMP[0].
10  */
12 uniform float one;
13 uniform int writeIndex;
14 uniform int readIndex;
15 varying vec4 color;
16 void main()
18         // Setup two arrays
19         vec4 a1[5], a2[5];
21         a1[0] = vec4(0.0, 0.0, 0.0, 0.0);
22         a1[1] = vec4(0.0, 0.0, 0.0, 0.0);
23         a1[2] = vec4(0.0, 0.0, 0.0, 0.0);
24         a1[3] = vec4(0.0, 0.0, 0.0, 0.0);
25         a1[4] = vec4(0.0, 0.0, 0.0, 0.0);
27         a2[0] = vec4(0.0, 0.0, 0.0, 0.0);
28         a2[1] = vec4(0.0, 0.0, 0.0, 0.0);
29         a2[2] = vec4(0.0, 0.0, 0.0, 0.0);
30         a2[3] = vec4(0.0, 0.0, 0.0, 0.0);
31         a2[4] = vec4(0.0, 0.0, 0.25, 0.0);
33         gl_Position = gl_Vertex;
35         // write to the arrays
36         a1[writeIndex] = vec4(1.0, 0.25, 0.0, 1.0);
37         a2[writeIndex] = vec4(1.0, 0.25, 0.75, 1.0);
39         // add array elements
40         color = a1[readIndex] + a2[readIndex] + a2[4];
43 [fragment shader]
44 varying vec4 color;
45 void main()
47         gl_FragColor = color;
50 [test]
51 uniform int readIndex 1
52 uniform int writeIndex 1
53 draw rect -1 -1 2 2
54 relative probe rgb (0.0, 0.0) (1.0, 0.5, 1.0, 1.0)
55 relative probe rgb (1.0, 0.0) (1.0, 0.5, 1.0, 1.0)
56 relative probe rgb (0.0, 1.0) (1.0, 0.5, 1.0, 1.0)
57 relative probe rgb (1.0, 1.0) (1.0, 0.5, 1.0, 1.0)