#include <metal_stdlib>

using namespace metal;
void textureSampleCompare_dd431d(depth2d_array<float, access::sample> tint_symbol, sampler tint_symbol_1) {
  float2 arg_2 = float2(0.0f);
  int arg_3 = 1;
  float arg_4 = 1.0f;
  float res = tint_symbol.sample_compare(tint_symbol_1, arg_2, arg_3, arg_4);
}

fragment void fragment_main(depth2d_array<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
  textureSampleCompare_dd431d(tint_symbol_2, tint_symbol_3);
  return;
}

