| #version 310 es |
| |
| struct Inner { |
| ivec3 a; |
| int b; |
| uvec3 c; |
| uint d; |
| vec3 e; |
| float f; |
| ivec2 g; |
| ivec2 h; |
| mat2x3 i; |
| mat3x2 j; |
| ivec4 k[4]; |
| }; |
| |
| struct Inner_std140 { |
| ivec3 a; |
| int b; |
| uvec3 c; |
| uint d; |
| vec3 e; |
| float f; |
| ivec2 g; |
| ivec2 h; |
| mat2x3 i; |
| vec2 j_0; |
| vec2 j_1; |
| vec2 j_2; |
| ivec4 k[4]; |
| }; |
| |
| struct S { |
| Inner arr[8]; |
| }; |
| |
| layout(binding = 0) uniform S_std140_ubo { |
| Inner_std140 arr[8]; |
| } s; |
| |
| mat3x2 load_s_arr_p0_j(uint p0) { |
| uint s_save = p0; |
| return mat3x2(s.arr[s_save].j_0, s.arr[s_save].j_1, s.arr[s_save].j_2); |
| } |
| |
| void tint_symbol(uint idx) { |
| ivec3 a = s.arr[idx].a; |
| int b = s.arr[idx].b; |
| uvec3 c = s.arr[idx].c; |
| uint d = s.arr[idx].d; |
| vec3 e = s.arr[idx].e; |
| float f = s.arr[idx].f; |
| ivec2 g = s.arr[idx].g; |
| ivec2 h = s.arr[idx].h; |
| mat2x3 i = s.arr[idx].i; |
| mat3x2 j = load_s_arr_p0_j(uint(idx)); |
| ivec4 k[4] = s.arr[idx].k; |
| } |
| |
| layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
| void main() { |
| tint_symbol(gl_LocalInvocationIndex); |
| return; |
| } |