1#version 450 2layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 3 4struct A 5{ 6 int a; 7 int b; 8}; 9 10layout(binding = 1, std430) buffer C1 11{ 12 A Data[]; 13} C1_1; 14 15layout(binding = 2, std140) uniform C2 16{ 17 A Data[1024]; 18} C2_1; 19 20layout(binding = 0, std430) buffer B 21{ 22 A Data[]; 23} C3; 24 25layout(binding = 3, std140) uniform B 26{ 27 A Data[1024]; 28} C4; 29 30void main() 31{ 32 C1_1.Data[gl_GlobalInvocationID.x].a = C2_1.Data[gl_GlobalInvocationID.x].a; 33 C1_1.Data[gl_GlobalInvocationID.x].b = C2_1.Data[gl_GlobalInvocationID.x].b; 34 C3.Data[gl_GlobalInvocationID.x].a = C4.Data[gl_GlobalInvocationID.x].a; 35 C3.Data[gl_GlobalInvocationID.x].b = C4.Data[gl_GlobalInvocationID.x].b; 36} 37 38