3 #extension GL_EXT_scalar_block_layout : enable
\r
5 // Block memory layout
\r
10 double c; // offset 16
\r
11 float d; // offset 24
\r
12 vec3 e; // offset 28
\r
13 float f; // offset 40
\r
14 // size = 44, align = 8
\r
17 layout(column_major, scalar) uniform B1
\r
19 float a; // offset = 0
\r
20 vec2 b; // offset = 4
\r
21 vec3 c; // offset = 12
\r
22 float d[2]; // offset = 24
\r
23 mat2x3 e; // offset = 32, takes 24 bytes, matrixstride = 12
\r
24 mat2x3 f[2]; // offset = 56, takes 48 bytes, matrixstride = 12, arraystride = 24
\r
25 float g; // offset = 104
\r
26 S h; // offset = 112 (aligned to multiple of 8)
\r
27 S i[2]; // offset = 160 (aligned to multiple of 8) stride = 48
\r
30 layout (std430) uniform;
\r