| #version 310 es |
| |
| struct strided_arr { |
| vec2 el; |
| uint pad; |
| uint pad_1; |
| }; |
| |
| struct SSBO { |
| strided_arr m[2]; |
| }; |
| |
| layout(binding = 0, std430) buffer ssbo_block_ssbo { |
| SSBO inner; |
| } ssbo; |
| |
| mat2 arr_to_mat2x2_stride_16(strided_arr arr[2]) { |
| return mat2(arr[0u].el, arr[1u].el); |
| } |
| |
| strided_arr[2] mat2x2_stride_16_to_arr(mat2 m) { |
| strided_arr tint_symbol_1 = strided_arr(m[0u], 0u, 0u); |
| strided_arr tint_symbol_2 = strided_arr(m[1u], 0u, 0u); |
| strided_arr tint_symbol_3[2] = strided_arr[2](tint_symbol_1, tint_symbol_2); |
| return tint_symbol_3; |
| } |
| |
| void f_1() { |
| mat2 x_15 = arr_to_mat2x2_stride_16(ssbo.inner.m); |
| strided_arr tint_symbol[2] = mat2x2_stride_16_to_arr(x_15); |
| ssbo.inner.m = tint_symbol; |
| return; |
| } |
| |
| void f() { |
| f_1(); |
| } |
| |
| layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
| void main() { |
| f(); |
| return; |
| } |