| #version 310 es | |
| precision highp float; | |
| layout(binding = 0) 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; | |
| 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 | |
| } |