#version 450 core #extension GL_EXT_shader_16bit_storage : enable struct S { float16_t x; f16vec2 y; f16vec3 z; }; layout(column_major, std140) uniform B1 { float16_t a; f16vec2 b; f16vec3 c; float16_t d[2]; S g; S h[2]; int j; } b1; layout(row_major, std430) buffer B2 { float16_t o; f16vec2 p; f16vec3 q; float16_t r[2]; S u; S v[2]; float16_t w[]; } b2; struct S2 { mat4x4 x; float16_t y; float 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; } float func(float16_t a) { return 0.0; } struct S4 { float x; float16_t y; }; float func2(float a) { return 0.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.0; b2.p = b2.p.yx; b4.x = b3.x; float16_t f0; S2 f1; S3 f2; if (b1.a == b1.a) {} b2.r = b2.r; b2.o = 1.0HF; b2.p = f16vec2(3.0, 4.0); f16vec2[2](f16vec2(vec2(1.0,2.0)), f16vec2(vec2(3.0,4.0))); // NOT ERRORING YET b3.x; S4(0.0, float16_t(0.0)); func2(b1.a); } layout(column_major, std140) uniform B6 { f16mat2x3 e; } b6;