glsl-array-bounds: set out-of-bounds array index inside shader
[piglit.git] / tests / shaders / glsl-vs-vec4-indexing-temp-dst-in-loop.shader_test
blob0a92e527ec0172c2fa4939307f577457ebc3a24c
1 [require]
2 GLSL >= 1.10
4 [vertex shader]
5 uniform float one;
6 uniform int count;
7 uniform vec4 red;
9 void main()
11     vec4 array[8];
12     array[0] = vec4(0.2, 0,   0.2, 0) * one;
13     array[1] = vec4(0,   0.2, 0,   0) * one;
14     array[2] = vec4(0,   0,   0.2, 0) * one;
15     array[3] = vec4(0.2, 0.2, 0,   0) * one;
16     array[4] = vec4(0,   0.2, 0.2, 0) * one;
17     array[5] = vec4(0.2, 0,   0.2, 0) * one;
18     array[6] = vec4(0,   0,   0,   0) * one;
19     array[7] = vec4(0.2, 0.2, 0.2, 0) * one;
20     gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
21     vec4 res = vec4(0);
22     for (int i = 0; i < count; i++)
23         array[i] = red;
24     gl_FrontColor = array[0] + array[1] + array[2] + array[3] +
25                     array[4] + array[5] + array[6] + array[7];
28 [fragment shader]
29 void main()
31         gl_FragColor = gl_Color;
34 [test]
35 ortho
36 clear color 0.5 0.5 0.5 0.5
37 clear
38 uniform float one 1
39 uniform vec4 red 0.1 0 0 0
41 uniform int count 0
42 draw rect 10 10 10 10
43 probe rgb 15 15 0.8 0.8 1.0
45 uniform int count 1
46 draw rect 30 10 10 10
47 probe rgb 35 15 0.7 0.8 0.8
49 uniform int count 2
50 draw rect 50 10 10 10
51 probe rgb 55 15 0.8 0.6 0.8
53 uniform int count 3
54 draw rect 70 10 10 10
55 probe rgb 75 15 0.9 0.6 0.6
57 uniform int count 4
58 draw rect 90 10 10 10
59 probe rgb 95 15 0.8 0.4 0.6
61 uniform int count 5
62 draw rect 110 10 10 10
63 probe rgb 115 15 0.9 0.2 0.4
65 uniform int count 6
66 draw rect 130 10 10 10
67 probe rgb 135 15 0.8 0.2 0.2
69 uniform int count 7
70 draw rect 150 10 10 10
71 probe rgb 155 15 0.9 0.2 0.2
73 uniform int count 8
74 draw rect 170 10 10 10
75 probe rgb 175 15 0.8 0 0