mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
47 lines
1.1 KiB
GLSL
47 lines
1.1 KiB
GLSL
#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; };
|