#version 450 core | |
#extension GL_EXT_shader_16bit_storage : enable | |
struct S | |
{ | |
uint16_t x; | |
u16vec2 y; | |
u16vec3 z; | |
}; | |
layout(column_major, std140) uniform B1 | |
{ | |
uint16_t a; | |
u16vec2 b; | |
u16vec3 c; | |
uint16_t d[2]; | |
S g; | |
S h[2]; | |
uint j; | |
} b1; | |
layout(row_major, std430) buffer B2 | |
{ | |
uint16_t o; | |
u16vec2 p; | |
u16vec3 q; | |
uint16_t r[2]; | |
S u; | |
S v[2]; | |
uint16_t w[]; | |
} b2; | |
struct S2 { | |
mat4x4 x; | |
uint16_t y; | |
uint 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; | |
} | |
uint func(uint16_t a) { | |
return 0; | |
} | |
struct S4 { | |
uint x; | |
uint16_t y; | |
}; | |
uint func2(uint 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; | |
uint16_t f0; | |
S2 f1; | |
S3 f2; | |
if (b1.a == b1.a) {} | |
b2.r = b2.r; | |
b2.p = u16vec2(3, 4); | |
u16vec2[2](u16vec2(uvec2(1,2)), u16vec2(uvec2(3,4))); | |
// NOT ERRORING YET | |
b3.x; | |
S4(0u, uint16_t(0u)); | |
func2(b1.a); | |
} | |
layout(column_major, std140) uniform B6 | |
{ | |
u16mat2x3 e; | |
} b6; | |