1#version 450 core 2 3#extension GL_EXT_shader_16bit_storage : enable 4 5struct S 6{ 7 float16_t x; 8 f16vec2 y; 9 f16vec3 z; 10}; 11 12layout(column_major, std140) uniform B1 13{ 14 float16_t a; 15 f16vec2 b; 16 f16vec3 c; 17 float16_t d[2]; 18 S g; 19 S h[2]; 20 int j; 21} b1; 22 23layout(row_major, std430) buffer B2 24{ 25 float16_t o; 26 f16vec2 p; 27 f16vec3 q; 28 float16_t r[2]; 29 S u; 30 S v[2]; 31 f16vec2 x[100]; 32 float16_t w[]; 33} b2; 34 35layout(row_major, std140) uniform B5 36{ 37 float16_t o; 38 f16vec2 p; 39 f16vec3 q; 40 float16_t r[2]; 41 S u; 42 S v[2]; 43 f16vec2 x[100]; 44 float16_t w[100]; 45} b5; 46 47struct S2 { 48 mat4x4 x; 49 float16_t y; 50 float z; 51}; 52 53struct S3 { 54 S2 x; 55}; 56 57layout(row_major, std430) buffer B3 58{ 59 S2 x; 60} b3; 61 62layout(column_major, std430) buffer B4 63{ 64 S2 x; 65 S3 y; 66} b4; 67 68void main() 69{ 70 b2.o = b1.a; 71 b2.p = f16vec2(vec3(b2.q).xy); 72 b2.p = f16vec2(vec3(b5.q).xy); 73 b2.r[0] = b2.r[0]; 74 b2.r[1] = b5.r[1]; 75 b2.p = b2.p; 76 float x0 = float(b1.a); 77 vec4 x1 = vec4(b1.a, b2.p, 1.0); 78 b4.x.x = b3.x.x; 79 b2.o = float16_t(vec2(b2.p).x); 80 b2.p = b2.v[1].y; 81 vec3 v3 = vec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]); 82 vec3 u3 = vec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]); 83 b2.x[0] = b2.x[0]; 84 b2.x[1] = b5.x[1]; 85 b2.p.x = b1.a; 86 b2.o = b2.p.x; 87 b2.p = f16vec2(vec2(1.0, 2.0)); 88 b2.o = float16_t(3.0); 89} 90 91