6 * From page 19 (page 25 of the PDF) of the GLSL 1.20 spec:
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")
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;
105 gl_Position = vec4(array01.length()