#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  const device float2x3* in;
  device float2x3* out;
};

void tint_store_and_preserve_padding(device float2x3* const target, float2x3 value_param) {
  (*target)[0u] = value_param[0u];
  (*target)[1u] = value_param[1u];
}

kernel void tint_symbol(const device float2x3* in [[buffer(1)]], device float2x3* out [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.in=in, .out=out};
  tint_store_and_preserve_padding(tint_module_vars.out, (*tint_module_vars.in));
}
