SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

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

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


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