2017-10-10 09:30:29 +00:00
|
|
|
#version 450
|
|
|
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
|
|
|
|
struct Foo
|
|
|
|
{
|
|
|
|
int a;
|
|
|
|
int b;
|
|
|
|
int c;
|
|
|
|
};
|
|
|
|
|
2018-03-05 15:34:42 +00:00
|
|
|
struct Foo_1
|
|
|
|
{
|
|
|
|
int a;
|
|
|
|
int b;
|
|
|
|
int c;
|
|
|
|
};
|
|
|
|
|
2017-10-10 14:25:47 +00:00
|
|
|
layout(binding = 1, std140) buffer SSBO1
|
|
|
|
{
|
|
|
|
layout(offset = 4) int a;
|
|
|
|
layout(offset = 8) int b;
|
|
|
|
layout(offset = 16) Foo foo;
|
|
|
|
layout(offset = 48) int c[8];
|
|
|
|
} ssbo1;
|
|
|
|
|
|
|
|
layout(binding = 2, std430) buffer SSBO2
|
|
|
|
{
|
|
|
|
layout(offset = 4) int a;
|
|
|
|
layout(offset = 8) int b;
|
2018-03-05 15:34:42 +00:00
|
|
|
layout(offset = 16) Foo_1 foo;
|
2017-10-10 14:25:47 +00:00
|
|
|
layout(offset = 48) int c[8];
|
|
|
|
} ssbo2;
|
|
|
|
|
|
|
|
layout(binding = 0, std140) uniform UBO
|
|
|
|
{
|
|
|
|
layout(offset = 4) int a;
|
|
|
|
layout(offset = 8) int b;
|
|
|
|
layout(offset = 16) Foo foo;
|
|
|
|
layout(offset = 48) int c[8];
|
|
|
|
} ubo;
|
|
|
|
|
2017-10-10 09:30:29 +00:00
|
|
|
void main()
|
|
|
|
{
|
2017-10-10 14:25:47 +00:00
|
|
|
ssbo1.a = ssbo2.a;
|
|
|
|
ssbo1.b = ubo.b;
|
2017-10-10 09:30:29 +00:00
|
|
|
}
|
|
|
|
|