#include <metal_stdlib>

using namespace metal;
void textureSampleCompare_1912e5(depthcube_array<float, access::sample> tint_symbol, sampler tint_symbol_1) {
  float res = tint_symbol.sample_compare(tint_symbol_1, float3(1.0f), 1u, 1.0f);
}

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

