John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 1 | #version 300 es |
2 | |||||
3 | uniform block { | ||||
John Kessenich | 41a36bb | 2013-06-19 05:41:25 +0000 | [diff] [blame] | 4 | mediump float f; |
John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 5 | } instanceName; |
6 | |||||
7 | struct S { | ||||
8 | int i; | ||||
9 | } s; | ||||
10 | |||||
11 | float a[5]; | ||||
12 | |||||
13 | void main() | ||||
14 | { | ||||
15 | bool b; | ||||
16 | float f; | ||||
17 | int i; | ||||
18 | uint u; | ||||
19 | bvec3 b3; | ||||
20 | vec3 v3; | ||||
21 | ivec3 iv3; | ||||
22 | uvec3 uv3; | ||||
23 | vec4 v4; | ||||
24 | ivec4 iv4; | ||||
25 | uvec4 uv4; | ||||
26 | mat2 m2; | ||||
27 | mat4 m4; | ||||
28 | |||||
29 | // These are all errors: | ||||
30 | instanceName + instanceName; | ||||
31 | s + s; | ||||
32 | i + f; | ||||
33 | u + f; | ||||
34 | u + i; | ||||
35 | iv3 *= iv4; | ||||
36 | iv4 / uv4; | ||||
37 | i - v3; | ||||
38 | iv3 + uv3; | ||||
39 | a * a; | ||||
40 | b / b; | ||||
41 | |||||
42 | f % f; | ||||
43 | i % f; | ||||
44 | f % u; | ||||
45 | instanceName++; | ||||
46 | ++s; | ||||
47 | a--; | ||||
48 | ++b3; | ||||
49 | |||||
50 | iv3 < uv3; | ||||
51 | m2 > m2; | ||||
52 | m2 != m4; | ||||
53 | i >= u; | ||||
54 | a <= a; | ||||
55 | b > b; | ||||
56 | |||||
57 | b && b3; | ||||
58 | b3 ^^ b3; | ||||
59 | b3 || b; | ||||
60 | i && i; | ||||
61 | u || u; | ||||
62 | m2 ^^ m2; | ||||
63 | |||||
64 | !u; | ||||
65 | !i; | ||||
66 | !m2; | ||||
67 | !v3; | ||||
68 | !a; | ||||
69 | |||||
70 | ~f; | ||||
71 | ~m4; | ||||
72 | ~v3; | ||||
73 | ~a; | ||||
74 | ~instanceName; | ||||
75 | |||||
76 | i << iv3; | ||||
77 | u << uv3; | ||||
78 | i >> f; | ||||
79 | f >> i; | ||||
80 | m4 >> i; | ||||
81 | a >> u; | ||||
John Kessenich | f78fff9 | 2013-06-13 23:56:04 +0000 | [diff] [blame] | 82 | iv3 >> iv4; |
John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 83 | |
John Kessenich | 77d908a | 2013-11-09 00:18:22 +0000 | [diff] [blame] | 84 | i & u; |
85 | u &= uv3; | ||||
John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 86 | i | uv3; |
87 | u & f; | ||||
88 | m2 | m2; | ||||
89 | s ^ s; | ||||
John Kessenich | f78fff9 | 2013-06-13 23:56:04 +0000 | [diff] [blame] | 90 | (f = f) = f; |
John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 91 | |
92 | // These are all okay: | ||||
93 | f * v4; | ||||
94 | u + u; | ||||
95 | uv4 / u; | ||||
96 | iv3 -= iv3; | ||||
97 | |||||
98 | i %= 3; | ||||
99 | uv3 % 4u; | ||||
100 | --m2; | ||||
101 | iv4++; | ||||
102 | |||||
103 | m4 != m4; | ||||
104 | m2 == m2; | ||||
105 | i <= i; | ||||
106 | a == a; | ||||
107 | s != s; | ||||
108 | |||||
109 | b && b; | ||||
110 | b || b; | ||||
111 | b ^^ b; | ||||
112 | |||||
113 | !b, uv3; | ||||
114 | |||||
115 | ~i; | ||||
116 | ~u; | ||||
117 | ~uv3; | ||||
118 | ~iv3; | ||||
119 | |||||
120 | uv3 <<= i; | ||||
121 | i >> i; | ||||
122 | u << u; | ||||
John Kessenich | f78fff9 | 2013-06-13 23:56:04 +0000 | [diff] [blame] | 123 | iv3 >> iv3; |
John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 124 | |
125 | i & i; | ||||
126 | u | u; | ||||
127 | iv3 ^ iv3; | ||||
John Kessenich | 77d908a | 2013-11-09 00:18:22 +0000 | [diff] [blame] | 128 | u & uv3; |
129 | uv3 | u; | ||||
130 | uv3 &= u; | ||||
131 | int arr[0x222 & 0xf]; | ||||
132 | arr[1]; // size 2 | ||||
133 | int arr2[(uvec2(0, 0x2) | 0x1u).y]; | ||||
134 | arr2[2]; // size 3 | ||||
John Kessenich | 04de88f | 2013-06-02 22:57:37 +0000 | [diff] [blame] | 135 | } |