SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void textureSample_7c3baa() {
  float4 res = arg_0.sample(arg_1, float2(), int2());
}

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


tint_6J7fSq.metal:5:16: error: use of undeclared identifier 'arg_0'
  float4 res = arg_0.sample(arg_1, float2(), int2());
               ^
tint_6J7fSq.metal:5:29: error: use of undeclared identifier 'arg_1'
  float4 res = arg_0.sample(arg_1, float2(), int2());
                            ^
2 errors generated.
