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