ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shading_language_420pack / execution / aggregate-initializer-unsized-array.shader_test
blob794bdebd3d45576f9c1c7360be360dc6b035514b
1 /* The ARB_shading_language_420pack suggests:
2  *
3  *    Verify that the following two arrays are identical:
4  *
5  *        vec4 a[] = vec4 [] (vec4(1.2), vec4(0.0), vec4(0.0), vec4(0.0),
6  *                            vec4(0.0), vec4(0.0), vec4(0.0), vec4(2.4),
7  *                            vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0),
8  *                            vec4(0.0), vec4(0.0), vec4(0.0), vec4(3.6));
9  *        vec4 b[] =        { vec4(1.2), vec4(0.0), vec4(0.0), vec4(0.0),
10  *                            vec4(0.0), vec4(0.0), vec4(0.0), vec4(2.4),
11  *                            vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0),
12  *                            vec4(0.0), vec4(0.0), vec4(0.0), vec4(3.6) };
13  */
15 [require]
16 GLSL >= 1.30
17 GL_ARB_shading_language_420pack
19 [vertex shader]
20 #extension GL_ARB_shading_language_420pack: enable
22 in vec4 vertex;
23 out vec4 color;
25 void main()
27     vec4 a[] = vec4 [] (vec4(1.2), vec4(0.0), vec4(0.0), vec4(0.0),
28                         vec4(0.0), vec4(0.0), vec4(0.0), vec4(2.4),
29                         vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0),
30                         vec4(0.0), vec4(0.0), vec4(0.0), vec4(3.6));
31     vec4 b[] =        { vec4(1.2), vec4(0.0), vec4(0.0), vec4(0.0),
32                         vec4(0.0), vec4(0.0), vec4(0.0), vec4(2.4),
33                         vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0),
34                         vec4(0.0), vec4(0.0), vec4(0.0), vec4(3.6) };
36     color = vec4(0.0, 1.0, 0.0, 1.0);
38     if (a.length() != b.length()) {
39         color = vec4(0.0, 0.0, 1.0, 1.0);
40     } else {
41         for (int i = 0; i < a.length(); i++) {
42             if (a[i] != b[i]) {
43                 color = vec4(1.0, 0.0, 0.0, 1.0);
44             }
45         }
46     }
47     gl_Position = vertex;
50 [fragment shader]
51 in vec4 color;
52 out vec4 frag_color;
54 void main() {
55     frag_color = color;
58 [test]
59 draw rect -1 -1 2 2
60 probe all rgba 0.0 1.0 0.0 1.0