#include <metal_stdlib>

using namespace metal;
void textureStore_75bbd5(texture2d_array<uint, access::read_write> tint_symbol) {
  tint_symbol.write(uint4(1u), uint2(int2(1)), 1u); tint_symbol.fence();
}

fragment void fragment_main(texture2d_array<uint, access::read_write> tint_symbol_1 [[texture(0)]]) {
  textureStore_75bbd5(tint_symbol_1);
  return;
}

kernel void compute_main(texture2d_array<uint, access::read_write> tint_symbol_2 [[texture(0)]]) {
  textureStore_75bbd5(tint_symbol_2);
  return;
}

