#version 450 | |
#extension GL_EXT_buffer_reference : enable | |
layout(buffer_reference) buffer bufType1 { int x; }; | |
layout(buffer_reference) buffer bufType2 { int x; }; | |
layout(buffer_reference) uniform bufType3 { int x; }; | |
layout(buffer_reference) buffer; | |
layout(buffer_reference) uniform; | |
layout(buffer_reference) in; | |
layout(buffer_reference) out; | |
layout(buffer_reference) in badin { float x; } badin2; | |
layout(buffer_reference) out badout { float x; } badout2; | |
layout(buffer_reference) buffer bufType5; | |
layout(buffer_reference) buffer bufType6 { int x[]; }; | |
buffer bufType4 { | |
bufType1 b1; | |
bufType2 b2; | |
bufType3 b3; | |
bufType6 b6; | |
} b4; | |
void f() | |
{ | |
bufType6 b; | |
b.x.length(); | |
b4.b6.x.length(); | |
b[2]; // ERROR, can't index due to unsized array | |
} | |
void main() { | |
bufType2 x1 = b4.b1; | |
bufType2 x2 = bufType2(b4.b1); | |
bufType2 x3 = bufType2(b4.b2); | |
bufType2 x4 = bufType2(b4.b3); | |
b4.b1 = b4.b2; | |
b4.b1 = b4.b3; | |
b4.b3 = b4.b2; | |
} | |
layout(buffer_reference) uniform bufType5 { int x; }; |