| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct tint_symbol_5 { |
| float3x3 w; |
| }; |
| |
| void f_inner(uint local_invocation_index, threadgroup float3x3* const tint_symbol, const constant float3x3* const tint_symbol_1) { |
| { |
| *(tint_symbol) = float3x3(float3(0.0f), float3(0.0f), float3(0.0f)); |
| } |
| threadgroup_barrier(mem_flags::mem_threadgroup); |
| *(tint_symbol) = *(tint_symbol_1); |
| (*(tint_symbol))[1] = (*(tint_symbol_1))[0]; |
| (*(tint_symbol))[1] = float3((*(tint_symbol_1))[0]).zxy; |
| (*(tint_symbol))[0][1] = (*(tint_symbol_1))[1][0]; |
| } |
| |
| kernel void f(const constant float3x3* tint_symbol_4 [[buffer(0)]], threadgroup tint_symbol_5* tint_symbol_3 [[threadgroup(0)]], uint local_invocation_index [[thread_index_in_threadgroup]]) { |
| threadgroup float3x3* const tint_symbol_2 = &((*(tint_symbol_3)).w); |
| f_inner(local_invocation_index, tint_symbol_2, tint_symbol_4); |
| return; |
| } |
| |