mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
102 lines
1.4 KiB
GLSL
102 lines
1.4 KiB
GLSL
|
#version 450 core
|
||
|
|
||
|
#extension GL_EXT_shader_16bit_storage : enable
|
||
|
|
||
|
struct S
|
||
|
{
|
||
|
int16_t x;
|
||
|
i16vec2 y;
|
||
|
i16vec3 z;
|
||
|
};
|
||
|
|
||
|
layout(column_major, std140) uniform B1
|
||
|
{
|
||
|
int16_t a;
|
||
|
i16vec2 b;
|
||
|
i16vec3 c;
|
||
|
int16_t d[2];
|
||
|
S g;
|
||
|
S h[2];
|
||
|
int j;
|
||
|
} b1;
|
||
|
|
||
|
layout(row_major, std430) buffer B2
|
||
|
{
|
||
|
int16_t o;
|
||
|
i16vec2 p;
|
||
|
i16vec3 q;
|
||
|
int16_t r[2];
|
||
|
S u;
|
||
|
S v[2];
|
||
|
int16_t w[];
|
||
|
} b2;
|
||
|
|
||
|
struct S2 {
|
||
|
mat4x4 x;
|
||
|
int16_t y;
|
||
|
int 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;
|
||
|
}
|
||
|
|
||
|
int func(int16_t a) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
struct S4 {
|
||
|
int x;
|
||
|
int16_t y;
|
||
|
};
|
||
|
|
||
|
int func2(int 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;
|
||
|
int16_t f0;
|
||
|
S2 f1;
|
||
|
S3 f2;
|
||
|
if (b1.a == b1.a) {}
|
||
|
b2.r = b2.r;
|
||
|
b2.p = i16vec2(3, 4);
|
||
|
i16vec2[2](i16vec2(ivec2(1,2)), i16vec2(ivec2(3,4)));
|
||
|
// NOT ERRORING YET
|
||
|
b3.x;
|
||
|
S4(0, int16_t(0));
|
||
|
func2(b1.a);
|
||
|
}
|
||
|
|
||
|
|
||
|
layout(column_major, std140) uniform B6
|
||
|
{
|
||
|
i16mat2x3 e;
|
||
|
} b6;
|
||
|
|