2019-01-06 23:58:04 +00:00
|
|
|
#version 450
|
|
|
|
|
|
|
|
#extension GL_EXT_buffer_reference : enable
|
|
|
|
|
|
|
|
layout(buffer_reference, std430) buffer blockType {
|
|
|
|
layout(offset = 0) int a;
|
|
|
|
layout(offset = 4) int b;
|
|
|
|
layout(offset = 8) int c;
|
|
|
|
layout(offset = 12) int d;
|
|
|
|
layout(offset = 16) int e;
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(std430) buffer t2 {
|
|
|
|
blockType f;
|
|
|
|
blockType g;
|
|
|
|
} t;
|
|
|
|
|
|
|
|
layout(std430, buffer_reference) buffer T2 { int x; };
|
|
|
|
layout(std430, buffer_reference) buffer T1 { int x; };
|
|
|
|
|
|
|
|
struct Blah {
|
|
|
|
T1 t1;
|
|
|
|
T2 t2;
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(set=0, binding=0) buffer T3 {
|
|
|
|
Blah Bindings[];
|
|
|
|
} t3;
|
|
|
|
|
2023-05-18 22:18:42 +00:00
|
|
|
|
2019-01-06 23:58:04 +00:00
|
|
|
void main() {
|
2023-05-18 22:18:42 +00:00
|
|
|
Blah x = t3.Bindings[2];
|
2019-01-06 23:58:04 +00:00
|
|
|
t3.Bindings[0] = t3.Bindings[1];
|
|
|
|
}
|