You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
1.5 KiB
91 lines
1.5 KiB
#version 450 core
|
|
|
|
#extension GL_EXT_shader_8bit_storage : enable
|
|
|
|
struct S
|
|
{
|
|
int8_t x;
|
|
i8vec2 y;
|
|
i8vec3 z;
|
|
};
|
|
|
|
layout(column_major, std140) uniform B1
|
|
{
|
|
int8_t a;
|
|
i8vec2 b;
|
|
i8vec3 c;
|
|
int8_t d[2];
|
|
S g;
|
|
S h[2];
|
|
int j;
|
|
} b1;
|
|
|
|
layout(row_major, std430) buffer B2
|
|
{
|
|
int8_t o;
|
|
i8vec2 p;
|
|
i8vec3 q;
|
|
int8_t r[2];
|
|
S u;
|
|
S v[2];
|
|
i8vec2 x[100];
|
|
int8_t w[];
|
|
} b2;
|
|
|
|
layout(row_major, std140) uniform B5
|
|
{
|
|
int8_t o;
|
|
i8vec2 p;
|
|
i8vec3 q;
|
|
int8_t r[2];
|
|
S u;
|
|
S v[2];
|
|
i8vec2 x[100];
|
|
int8_t w[100];
|
|
} b5;
|
|
|
|
struct S2 {
|
|
mat4x4 x;
|
|
int8_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;
|
|
S3 y;
|
|
} b4;
|
|
|
|
void main()
|
|
{
|
|
b2.o = b1.a;
|
|
b2.p = i8vec2(ivec3(b2.q).xy);
|
|
b2.p = i8vec2(ivec3(b5.q).xy);
|
|
b2.r[0] = b2.r[0];
|
|
b2.r[1] = b5.r[1];
|
|
b2.p = b2.p;
|
|
int x0 = int(b1.a);
|
|
ivec4 x1 = ivec4(b1.a, b2.p, 1);
|
|
b4.x.x = b3.x.x;
|
|
b2.o = int8_t(ivec2(b2.p).x);
|
|
b2.p = b2.v[1].y;
|
|
ivec3 v3 = ivec3(b2.w[b1.j], b2.w[b1.j+1], b2.w[b1.j+2]);
|
|
ivec3 u3 = ivec3(b5.w[b1.j], b5.w[b1.j+1], b5.w[b1.j+2]);
|
|
b2.x[0] = b2.x[0];
|
|
b2.x[1] = b5.x[1];
|
|
b2.p.x = b1.a;
|
|
b2.o = b2.p.x;
|
|
b2.p = i8vec2(ivec2(1, 2));
|
|
b2.o = int8_t(3);
|
|
}
|
|
|