#include <metal_stdlib>

using namespace metal;
float textureSample_0dff6c(depth2d<float, access::sample> tint_symbol, sampler tint_symbol_1) {
  float2 arg_2 = float2(1.0f);
  float res = tint_symbol.sample(tint_symbol_1, arg_2, int2(1));
  return res;
}

fragment void fragment_main(device float* tint_symbol_2 [[buffer(0)]], depth2d<float, access::sample> tint_symbol_3 [[texture(0)]], sampler tint_symbol_4 [[sampler(0)]]) {
  *(tint_symbol_2) = textureSample_0dff6c(tint_symbol_3, tint_symbol_4);
  return;
}

