struct SSBO { m : @stride(16) array, 2u>; } @group(0) @binding(0) var ssbo : SSBO; fn arr_to_mat2x2_stride_16(arr : @stride(16) array, 2u>) -> mat2x2 { return mat2x2(arr[0u], arr[1u]); } fn mat2x2_stride_16_to_arr(mat : mat2x2) -> @stride(16) array, 2u> { return @stride(16) array, 2u>(mat[0u], mat[1u]); } fn f_1() { let x_15 : mat2x2 = arr_to_mat2x2_stride_16(ssbo.m); ssbo.m = mat2x2_stride_16_to_arr(x_15); return; } @stage(compute) @workgroup_size(1, 1, 1) fn f() { f_1(); }