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.
38 lines
705 B
Plaintext
38 lines
705 B
Plaintext
#version 450
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
struct A
|
|
{
|
|
int a;
|
|
int b;
|
|
};
|
|
|
|
layout(binding = 1, std430) buffer C1
|
|
{
|
|
A Data[];
|
|
} C1_1;
|
|
|
|
layout(binding = 2, std140) uniform C2
|
|
{
|
|
A Data[1024];
|
|
} C2_1;
|
|
|
|
layout(binding = 0, std430) buffer B
|
|
{
|
|
A Data[];
|
|
} C3;
|
|
|
|
layout(binding = 3, std140) uniform B
|
|
{
|
|
A Data[1024];
|
|
} C4;
|
|
|
|
void main()
|
|
{
|
|
C1_1.Data[gl_GlobalInvocationID.x].a = C2_1.Data[gl_GlobalInvocationID.x].a;
|
|
C1_1.Data[gl_GlobalInvocationID.x].b = C2_1.Data[gl_GlobalInvocationID.x].b;
|
|
C3.Data[gl_GlobalInvocationID.x].a = C4.Data[gl_GlobalInvocationID.x].a;
|
|
C3.Data[gl_GlobalInvocationID.x].b = C4.Data[gl_GlobalInvocationID.x].b;
|
|
}
|
|
|