aac6885950
To facilitate an improved linking-by-name use case for older GL, we will be more aggressive about merging struct definitions, even for rather unrelated cases where we don't strictly need to use type aliases.
106 lines
2.4 KiB
Plaintext
106 lines
2.4 KiB
Plaintext
#version 310 es
|
|
#extension GL_EXT_scalar_block_layout : require
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
struct S0
|
|
{
|
|
vec2 a[1];
|
|
float b;
|
|
};
|
|
|
|
struct S1
|
|
{
|
|
vec3 a;
|
|
float b;
|
|
};
|
|
|
|
struct S2
|
|
{
|
|
vec3 a[1];
|
|
float b;
|
|
};
|
|
|
|
struct S3
|
|
{
|
|
vec2 a;
|
|
float b;
|
|
};
|
|
|
|
struct S4
|
|
{
|
|
vec2 c;
|
|
};
|
|
|
|
struct Content
|
|
{
|
|
S0 m0s[1];
|
|
S1 m1s[1];
|
|
S2 m2s[1];
|
|
S0 m0;
|
|
S1 m1;
|
|
S2 m2;
|
|
S3 m3;
|
|
float m4;
|
|
S4 m3s[8];
|
|
};
|
|
|
|
layout(set = 0, binding = 1, scalar) restrict buffer SSBO1
|
|
{
|
|
Content content;
|
|
Content content1[2];
|
|
Content content2;
|
|
mat2 m0;
|
|
mat2 m1;
|
|
mat2x3 m2[4];
|
|
mat3x2 m3;
|
|
layout(row_major) mat2 m4;
|
|
layout(row_major) mat2 m5[9];
|
|
layout(row_major) mat2x3 m6[4][2];
|
|
layout(row_major) mat3x2 m7;
|
|
float array[];
|
|
} ssbo_430;
|
|
|
|
layout(set = 0, binding = 0, std140) restrict buffer SSBO0
|
|
{
|
|
Content content;
|
|
Content content1[2];
|
|
Content content2;
|
|
mat2 m0;
|
|
mat2 m1;
|
|
mat2x3 m2[4];
|
|
mat3x2 m3;
|
|
layout(row_major) mat2 m4;
|
|
layout(row_major) mat2 m5[9];
|
|
layout(row_major) mat2x3 m6[4][2];
|
|
layout(row_major) mat3x2 m7;
|
|
float array[];
|
|
} ssbo_140;
|
|
|
|
void main()
|
|
{
|
|
ssbo_430.content.m0s[0].a[0] = ssbo_140.content.m0s[0].a[0];
|
|
ssbo_430.content.m0s[0].b = ssbo_140.content.m0s[0].b;
|
|
ssbo_430.content.m1s[0].a = ssbo_140.content.m1s[0].a;
|
|
ssbo_430.content.m1s[0].b = ssbo_140.content.m1s[0].b;
|
|
ssbo_430.content.m2s[0].a[0] = ssbo_140.content.m2s[0].a[0];
|
|
ssbo_430.content.m2s[0].b = ssbo_140.content.m2s[0].b;
|
|
ssbo_430.content.m0.a[0] = ssbo_140.content.m0.a[0];
|
|
ssbo_430.content.m0.b = ssbo_140.content.m0.b;
|
|
ssbo_430.content.m1.a = ssbo_140.content.m1.a;
|
|
ssbo_430.content.m1.b = ssbo_140.content.m1.b;
|
|
ssbo_430.content.m2.a[0] = ssbo_140.content.m2.a[0];
|
|
ssbo_430.content.m2.b = ssbo_140.content.m2.b;
|
|
ssbo_430.content.m3.a = ssbo_140.content.m3.a;
|
|
ssbo_430.content.m3.b = ssbo_140.content.m3.b;
|
|
ssbo_430.content.m4 = ssbo_140.content.m4;
|
|
ssbo_430.content.m3s[0].c = ssbo_140.content.m3s[0].c;
|
|
ssbo_430.content.m3s[1].c = ssbo_140.content.m3s[1].c;
|
|
ssbo_430.content.m3s[2].c = ssbo_140.content.m3s[2].c;
|
|
ssbo_430.content.m3s[3].c = ssbo_140.content.m3s[3].c;
|
|
ssbo_430.content.m3s[4].c = ssbo_140.content.m3s[4].c;
|
|
ssbo_430.content.m3s[5].c = ssbo_140.content.m3s[5].c;
|
|
ssbo_430.content.m3s[6].c = ssbo_140.content.m3s[6].c;
|
|
ssbo_430.content.m3s[7].c = ssbo_140.content.m3s[7].c;
|
|
}
|
|
|