ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.20 / compiler / structure-and-array-operations / array-size-constant-relational.vert
blob79f919a405dc579410099e5c5805dd33aed6cd5d
1 /* [config]
2  * expect_result: pass
3  * glsl_version: 1.20
4  * [end config]
5  *
6  * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec:
7  *
8  *     "When an array size is specified in a declaration, it must be an
9  *     integral constant expression (see Section 4.3.3 "Constant Expressions")
10  *     greater than zero."
11  */
12 #version 120
14 const vec4 v4_1 = vec4(1);
15 const vec4 v4_0 = v4_1 - v4_1;
16 const vec3 v3_1 = vec3(1);
17 const vec3 v3_0 = v3_1 - v3_1;
18 const vec2 v2_1 = vec2(1);
19 const vec2 v2_0 = v2_1 - v2_1;
21 const ivec4 iv4_1 = ivec4(1);
22 const ivec4 iv4_0 = iv4_1 - iv4_1;
23 const ivec3 iv3_1 = ivec3(1);
24 const ivec3 iv3_0 = iv3_1 - iv3_1;
25 const ivec2 iv2_1 = ivec2(1);
26 const ivec2 iv2_0 = iv2_1 - iv2_1;
28 const bvec4 bv4_1 = bvec4(true);
29 const bvec4 bv4_0 = not(bv4_1);
30 const bvec3 bv3_1 = bvec3(true);
31 const bvec3 bv3_0 = not(bv3_1);
32 const bvec2 bv2_1 = bvec2(true);
33 const bvec2 bv2_0 = not(bv2_1);
35 // All forms of lessThan.
36 float [all(    lessThan( v4_1,  v4_0) ) ? -1 :  1] array01;
37 float [all(not(lessThan( v4_1,  v4_0))) ?  1 : -1] array02;
38 float [any(    lessThan( v4_1,  v4_0) ) ? -1 :  1] array03;
39 float [any(not(lessThan( v4_1,  v4_0))) ?  1 : -1] array04;
40 float [all(    lessThan(iv4_1, iv4_0) ) ? -1 :  1] array05;
41 float [all(not(lessThan(iv4_1, iv4_0))) ?  1 : -1] array06;
42 float [any(    lessThan(iv4_1, iv4_0) ) ? -1 :  1] array07;
43 float [any(not(lessThan(iv4_1, iv4_0))) ?  1 : -1] array08;
45 // All forms of lessThanEqual.
46 float [all(    lessThanEqual( v4_1,  v4_0) ) ? -1 :  1] array11;
47 float [all(not(lessThanEqual( v4_1,  v4_0))) ?  1 : -1] array12;
48 float [any(    lessThanEqual( v4_1,  v4_0) ) ? -1 :  1] array13;
49 float [any(not(lessThanEqual( v4_1,  v4_0))) ?  1 : -1] array14;
50 float [all(    lessThanEqual(iv4_1, iv4_0) ) ? -1 :  1] array15;
51 float [all(not(lessThanEqual(iv4_1, iv4_0))) ?  1 : -1] array16;
52 float [any(    lessThanEqual(iv4_1, iv4_0) ) ? -1 :  1] array17;
53 float [any(not(lessThanEqual(iv4_1, iv4_0))) ?  1 : -1] array18;
55 // All forms of greaterThan.
56 float [all(    greaterThan( v4_1,  v4_0) ) ?  1 : -1] array21;
57 float [all(not(greaterThan( v4_1,  v4_0))) ? -1 :  1] array22;
58 float [any(    greaterThan( v4_1,  v4_0) ) ?  1 : -1] array23;
59 float [any(not(greaterThan( v4_1,  v4_0))) ? -1 :  1] array24;
60 float [all(    greaterThan(iv4_1, iv4_0) ) ?  1 : -1] array25;
61 float [all(not(greaterThan(iv4_1, iv4_0))) ? -1 :  1] array26;
62 float [any(    greaterThan(iv4_1, iv4_0) ) ?  1 : -1] array27;
63 float [any(not(greaterThan(iv4_1, iv4_0))) ? -1 :  1] array28;
65 // All forms of greaterThanEqual.
66 float [all(    greaterThanEqual( v4_1,  v4_0) ) ?  1 : -1] array31;
67 float [all(not(greaterThanEqual( v4_1,  v4_0))) ? -1 :  1] array32;
68 float [any(    greaterThanEqual( v4_1,  v4_0) ) ?  1 : -1] array33;
69 float [any(not(greaterThanEqual( v4_1,  v4_0))) ? -1 :  1] array34;
70 float [all(    greaterThanEqual(iv4_1, iv4_0) ) ?  1 : -1] array35;
71 float [all(not(greaterThanEqual(iv4_1, iv4_0))) ? -1 :  1] array36;
72 float [any(    greaterThanEqual(iv4_1, iv4_0) ) ?  1 : -1] array37;
73 float [any(not(greaterThanEqual(iv4_1, iv4_0))) ? -1 :  1] array38;
75 // All forms of equal.
76 float [all(    equal( v4_1,  v4_0) ) ? -1 :  1] array41;
77 float [all(not(equal( v4_1,  v4_0))) ?  1 : -1] array42;
78 float [any(    equal( v4_1,  v4_0) ) ? -1 :  1] array43;
79 float [any(not(equal( v4_1,  v4_0))) ?  1 : -1] array44;
80 float [all(    equal(iv4_1, iv4_0) ) ? -1 :  1] array45;
81 float [all(not(equal(iv4_1, iv4_0))) ?  1 : -1] array46;
82 float [any(    equal(iv4_1, iv4_0) ) ? -1 :  1] array47;
83 float [any(not(equal(iv4_1, iv4_0))) ?  1 : -1] array48;
84 float [all(    equal(bv4_1, bv4_0) ) ? -1 :  1] array49;
85 float [all(not(equal(bv4_1, bv4_0))) ?  1 : -1] array4a;
86 float [any(    equal(bv4_1, bv4_0) ) ? -1 :  1] array4b;
87 float [any(not(equal(bv4_1, bv4_0))) ?  1 : -1] array4c;
89 // All forms of notEqual.
90 float [all(    notEqual( v4_1,  v4_0) ) ?  1 : -1] array51;
91 float [all(not(notEqual( v4_1,  v4_0))) ? -1 :  1] array52;
92 float [any(    notEqual( v4_1,  v4_0) ) ?  1 : -1] array53;
93 float [any(not(notEqual( v4_1,  v4_0))) ? -1 :  1] array54;
94 float [all(    notEqual(iv4_1, iv4_0) ) ?  1 : -1] array55;
95 float [all(not(notEqual(iv4_1, iv4_0))) ? -1 :  1] array56;
96 float [any(    notEqual(iv4_1, iv4_0) ) ?  1 : -1] array57;
97 float [any(not(notEqual(iv4_1, iv4_0))) ? -1 :  1] array58;
98 float [all(    notEqual(bv4_1, bv4_0) ) ?  1 : -1] array59;
99 float [all(not(notEqual(bv4_1, bv4_0))) ? -1 :  1] array5a;
100 float [any(    notEqual(bv4_1, bv4_0) ) ?  1 : -1] array5b;
101 float [any(not(notEqual(bv4_1, bv4_0))) ? -1 :  1] array5c;
103 void main()
105   gl_Position = vec4(array01.length()
106                      + array02.length()
107                      + array03.length()
108                      + array04.length()
109                      + array05.length()
110                      + array06.length()
111                      + array07.length()
112                      + array08.length()
113                      + array11.length()
114                      + array12.length()
115                      + array13.length()
116                      + array14.length()
117                      + array15.length()
118                      + array16.length()
119                      + array17.length()
120                      + array18.length()
121                      + array21.length()
122                      + array22.length()
123                      + array23.length()
124                      + array24.length()
125                      + array25.length()
126                      + array26.length()
127                      + array27.length()
128                      + array28.length()
129                      + array31.length()
130                      + array32.length()
131                      + array33.length()
132                      + array34.length()
133                      + array35.length()
134                      + array36.length()
135                      + array37.length()
136                      + array38.length()
137                      + array41.length()
138                      + array42.length()
139                      + array43.length()
140                      + array44.length()
141                      + array45.length()
142                      + array46.length()
143                      + array47.length()
144                      + array48.length()
145                      + array49.length()
146                      + array4a.length()
147                      + array4b.length()
148                      + array4c.length()
149                      + array51.length()
150                      + array52.length()
151                      + array53.length()
152                      + array54.length()
153                      + array55.length()
154                      + array56.length()
155                      + array57.length()
156                      + array58.length()
157                      + array59.length()
158                      + array5a.length()
159                      + array5b.length()
160                      + array5c.length());