#version 450 core #extension GL_EXT_shader_16bit_storage : enable struct S { int16_t x; i16vec2 y; i16vec3 z; }; layout(column_major, std140) uniform B1 { int16_t a; i16vec2 b; i16vec3 c; int16_t d[2]; S g; S h[2]; int j; } b1; layout(row_major, std430) buffer B2 { int16_t o; i16vec2 p; i16vec3 q; int16_t r[2]; S u; S v[2]; int16_t w[]; } b2; struct S2 { mat4x4 x; int16_t y; int z; }; struct S3 { S2 x; }; layout(row_major, std430) buffer B3 { S2 x; } b3; layout(column_major, std430) buffer B4 { S2 x; } b4; void func3(S2 x) { } S2 func4() { return b4.x; } int func(int16_t a) { return 0; } struct S4 { int x; int16_t y; }; int func2(int a) { return 0; } void main() { b2.o = b2.q[1]; b2.p = b2.q.xy; b2.o = max(b1.a, b1.a); bvec2 bv = lessThan(b2.p, b2.p); b2.o = b1.a + b1.a; b2.o = -b1.a; b2.o = b1.a + 1; b2.p = b2.p.yx; b4.x = b3.x; int16_t f0; S2 f1; S3 f2; if (b1.a == b1.a) {} b2.r = b2.r; b2.p = i16vec2(3, 4); i16vec2[2](i16vec2(ivec2(1,2)), i16vec2(ivec2(3,4))); // NOT ERRORING YET b3.x; S4(0, int16_t(0)); func2(b1.a); } layout(column_major, std140) uniform B6 { i16mat2x3 e; } b6;