ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shading_language_420pack / execution / aggregate-initializer-struct.shader_test
blob47d7691232642664e8b328a846660fa909b5d9dd
1 [require]
2 GLSL >= 1.30
3 GL_ARB_shading_language_420pack
5 [vertex shader]
6 #extension GL_ARB_shading_language_420pack: enable
8 in vec4 vertex;
9 out vec4 color;
11 void main()
13     struct S {
14         vec4 v[2];
15     };
17     struct T {
18         S a[2], b;
19         int c;
20     }
21     s1 = T(
22           S[2](
23                S(vec4[2](vec4(1.0, 2.0, 3.0, 4.0), vec4(5.0, 6.0, 7.0, 8.0))),
24                S(vec4[2](vec4(1.0, 2.0, 3.0, 4.0), vec4(5.0, 6.0, 7.0, 8.0)))
25           ), // a
26           S(vec4[2](vec4(1.0, 2.0, 3.0, 4.0), vec4(5.0, 6.0, 7.0, 8.0))), // b
27           4 // c
28     ),
29     s2 = {
30         {
31             {
32                 {
33                     {1.0, 2.0, 3.0, 4.0}, // a[0].v[0]
34                     {5.0, 6.0, 7.0, 8.0}  // a[0].v[1]
35                 } // a[0].v
36             }, // a[0]
37             {
38                 {
39                     {1.0, 2.0, 3.0, 4.0}, // a[1].v[0]
40                     {5.0, 6.0, 7.0, 8.0}  // a[1].v[1]
41                 } // a[1].v
42             } // a[1]
43         }, // a
44         {
45             {
46                 {1.0, 2.0, 3.0, 4.0}, // b.v[0]
47                 {5.0, 6.0, 7.0, 8.0}  // b.v[1]
48             } // b.v
49         }, // b
50         4 // c
51     };
53     color = vec4(0.0, 1.0, 0.0, 1.0);
55     if (s1.a[0].v[0] != s2.a[0].v[0] ||
56         s1.a[0].v[1] != s2.a[0].v[1] ||
57         s1.a[1].v[0] != s2.a[1].v[0] ||
58         s1.a[1].v[1] != s2.a[1].v[1] ||
59         s1.b.v[0] != s2.b.v[0] ||
60         s1.b.v[1] != s2.b.v[1] ||
61         s1.c != s2.c) {
62         color = vec4(1.0, 0.0, 0.0, 1.0);
63     }
64     gl_Position = vertex;
67 [fragment shader]
68 in vec4 color;
69 out vec4 frag_color;
71 void main() {
72     frag_color = color;
75 [test]
76 draw rect -1 -1 2 2
77 probe all rgba 0.0 1.0 0.0 1.0