123456789101112131415161718192021222324252627282930313233343536373839 |
- #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];
- }
|