#include <metal_stdlib>

using namespace metal;
void textureStore_77c0ae(texture2d<uint, access::write> tint_symbol) {
  int2 arg_1 = int2(1);
  uint4 arg_2 = uint4(1u);
  tint_symbol.write(arg_2, uint2(arg_1));
}

fragment void fragment_main(texture2d<uint, access::write> tint_symbol_1 [[texture(0)]]) {
  textureStore_77c0ae(tint_symbol_1);
  return;
}

kernel void compute_main(texture2d<uint, access::write> tint_symbol_2 [[texture(0)]]) {
  textureStore_77c0ae(tint_symbol_2);
  return;
}

