SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void textureSample_38bbb9() {
  float res = arg_0.sample(arg_1, float2());
}

fragment void fragment_main() {
  textureSample_38bbb9();
  return;
}


tint_fTMbcr.metal:5:15: error: use of undeclared identifier 'arg_0'
  float res = arg_0.sample(arg_1, float2());
              ^
tint_fTMbcr.metal:5:28: error: use of undeclared identifier 'arg_1'
  float res = arg_0.sample(arg_1, float2());
                           ^
2 errors generated.
