| #include <metal_stdlib> |
| using namespace metal; |
| struct tint_module_vars_struct { |
| thread float4x3* m; |
| device float4x3* out; |
| }; |
| |
| void tint_store_and_preserve_padding(device float4x3* const target, float4x3 value_param) { |
| (*target)[0u] = value_param[0u]; |
| (*target)[1u] = value_param[1u]; |
| (*target)[2u] = value_param[2u]; |
| (*target)[3u] = value_param[3u]; |
| } |
| kernel void f(device float4x3* out [[buffer(0)]]) { |
| thread float4x3 m = float4x3(float3(0.0f), float3(0.0f), float3(0.0f), float3(0.0f)); |
| tint_module_vars_struct const tint_module_vars = {.m=(&m), .out=out}; |
| tint_store_and_preserve_padding(tint_module_vars.out, (*tint_module_vars.m)); |
| } |