SPIRV-Cross/reference/opt/shaders/asm/comp/block-name-alias-global.asm.comp
Hans-Kristian Arntzen aac6885950 GLSL: Be more aggressive about using type_alias.
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.
2020-07-29 12:48:41 +02:00

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;
}