зеркало из https://github.com/stride3d/xkslang.git
102 строки
1.5 KiB
GLSL
102 строки
1.5 KiB
GLSL
#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;
|
|
|