mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-12 21:20:06 +00:00
39 lines
601 B
GLSL
39 lines
601 B
GLSL
|
#version 450
|
||
|
|
||
|
#extension GL_EXT_buffer_reference : enable
|
||
|
#extension GL_EXT_scalar_block_layout : enable
|
||
|
|
||
|
layout(buffer_reference, scalar) buffer T1 {
|
||
|
vec3 x[];
|
||
|
};
|
||
|
|
||
|
layout(buffer_reference, scalar) buffer T2 {
|
||
|
vec3 x[][4][2];
|
||
|
};
|
||
|
|
||
|
struct S
|
||
|
{
|
||
|
highp ivec3 a;
|
||
|
mediump mat3 b[4];
|
||
|
highp vec4 c;
|
||
|
};
|
||
|
|
||
|
layout(buffer_reference, scalar) buffer T3 {
|
||
|
S s;
|
||
|
};
|
||
|
layout(std430) buffer T4 {
|
||
|
T1 t1;
|
||
|
T2 t2;
|
||
|
T3 t3;
|
||
|
} t4;
|
||
|
|
||
|
layout(location = 0) flat in int i;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
vec3 y;
|
||
|
y = t4.t1.x[i];
|
||
|
y = t4.t2.x[i][i][i];
|
||
|
mat3 z = t4.t3.s.b[0];
|
||
|
}
|