| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct tint_array_wrapper_0 { |
| float array[4]; |
| }; |
| struct tint_array_wrapper_1 { |
| tint_array_wrapper_0 array[3]; |
| }; |
| struct tint_array_wrapper_2 { |
| tint_array_wrapper_1 array[2]; |
| }; |
| |
| float f1(tint_array_wrapper_0 const a) { |
| return a.array[3]; |
| } |
| |
| float f2(tint_array_wrapper_1 const a) { |
| return a.array[2].array[3]; |
| } |
| |
| float f3(tint_array_wrapper_2 const a) { |
| return a.array[1].array[2].array[3]; |
| } |
| |
| kernel void tint_symbol() { |
| tint_array_wrapper_0 const a1 = {}; |
| tint_array_wrapper_1 const a2 = {}; |
| tint_array_wrapper_2 const a3 = {}; |
| float const v1 = f1(a1); |
| float const v2 = f2(a2); |
| float const v3 = f3(a3); |
| return; |
| } |
| |