| #version 300 es | |
| uniform block { | |
| mediump float f; | |
| } instanceName; | |
| struct S { | |
| int i; | |
| } s; | |
| float a[5]; | |
| void main() | |
| { | |
| bool b; | |
| float f; | |
| int i; | |
| uint u; | |
| bvec3 b3; | |
| vec3 v3; | |
| ivec3 iv3; | |
| uvec3 uv3; | |
| vec4 v4; | |
| ivec4 iv4; | |
| uvec4 uv4; | |
| mat2 m2; | |
| mat4 m4; | |
| // These are all errors: | |
| instanceName + instanceName; | |
| s + s; | |
| i + f; | |
| u + f; | |
| u + i; | |
| iv3 *= iv4; | |
| iv4 / uv4; | |
| i - v3; | |
| iv3 + uv3; | |
| a * a; | |
| b / b; | |
| f % f; | |
| i % f; | |
| f % u; | |
| instanceName++; | |
| ++s; | |
| a--; | |
| ++b3; | |
| iv3 < uv3; | |
| m2 > m2; | |
| m2 != m4; | |
| i >= u; | |
| a <= a; | |
| b > b; | |
| b && b3; | |
| b3 ^^ b3; | |
| b3 || b; | |
| i && i; | |
| u || u; | |
| m2 ^^ m2; | |
| !u; | |
| !i; | |
| !m2; | |
| !v3; | |
| !a; | |
| ~f; | |
| ~m4; | |
| ~v3; | |
| ~a; | |
| ~instanceName; | |
| i << iv3; | |
| u << uv3; | |
| i >> f; | |
| f >> i; | |
| m4 >> i; | |
| a >> u; | |
| iv3 >> iv4; | |
| i & u; | |
| u &= uv3; | |
| i | uv3; | |
| u & f; | |
| m2 | m2; | |
| s ^ s; | |
| (f = f) = f; | |
| // These are all okay: | |
| f * v4; | |
| u + u; | |
| uv4 / u; | |
| iv3 -= iv3; | |
| i %= 3; | |
| uv3 % 4u; | |
| --m2; | |
| iv4++; | |
| m4 != m4; | |
| m2 == m2; | |
| i <= i; | |
| a == a; | |
| s != s; | |
| b && b; | |
| b || b; | |
| b ^^ b; | |
| !b, uv3; | |
| ~i; | |
| ~u; | |
| ~uv3; | |
| ~iv3; | |
| uv3 <<= i; | |
| i >> i; | |
| u << u; | |
| iv3 >> iv3; | |
| i & i; | |
| u | u; | |
| iv3 ^ iv3; | |
| u & uv3; | |
| uv3 | u; | |
| uv3 &= u; | |
| int arr[0x222 & 0xf]; | |
| arr[1]; // size 2 | |
| int arr2[(uvec2(0, 0x2) | 0x1u).y]; | |
| arr2[2]; // size 3 | |
| } |