| #version 310 es |
| |
| layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
| void unused_entry_point() { |
| return; |
| } |
| struct S { |
| ivec4 arr[4]; |
| }; |
| |
| ivec4 src_private[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0)); |
| shared ivec4 src_workgroup[4]; |
| layout(binding = 0) uniform src_uniform_block_ubo { |
| S inner; |
| } src_uniform; |
| |
| layout(binding = 1, std430) buffer src_uniform_block_ssbo { |
| S inner; |
| } src_storage; |
| |
| layout(binding = 2, std430) buffer src_uniform_block_ssbo_1 { |
| S inner; |
| } dst; |
| |
| layout(binding = 3, std430) buffer S_nested_ssbo { |
| int arr[4][3][2]; |
| } dst_nested; |
| |
| ivec4[4] ret_arr() { |
| ivec4 tint_symbol_2[4] = ivec4[4](ivec4(0), ivec4(0), ivec4(0), ivec4(0)); |
| return tint_symbol_2; |
| } |
| |
| S ret_struct_arr() { |
| S tint_symbol_3 = S(ivec4[4](ivec4(0), ivec4(0), ivec4(0), ivec4(0))); |
| return tint_symbol_3; |
| } |
| |
| void foo(ivec4 src_param[4]) { |
| ivec4 src_function[4] = ivec4[4](ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0), ivec4(0, 0, 0, 0)); |
| ivec4 tint_symbol_4[4] = ivec4[4](ivec4(1), ivec4(2), ivec4(3), ivec4(3)); |
| dst.inner.arr = tint_symbol_4; |
| dst.inner.arr = src_param; |
| ivec4 tint_symbol[4] = ret_arr(); |
| dst.inner.arr = tint_symbol; |
| ivec4 src_let[4] = ivec4[4](ivec4(0), ivec4(0), ivec4(0), ivec4(0)); |
| dst.inner.arr = src_let; |
| dst.inner.arr = src_function; |
| dst.inner.arr = src_private; |
| dst.inner.arr = src_workgroup; |
| S tint_symbol_1 = ret_struct_arr(); |
| dst.inner.arr = tint_symbol_1.arr; |
| dst.inner.arr = src_uniform.inner.arr; |
| dst.inner.arr = src_storage.inner.arr; |
| int src_nested[4][3][2] = int[4][3][2](int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0)), int[3][2](int[2](0, 0), int[2](0, 0), int[2](0, 0))); |
| dst_nested.arr = src_nested; |
| } |
| |