SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void textureLoad_c9cc40() {
  int4 res = arg_0.read(1);
}

vertex void vertex_main() {
  textureLoad_c9cc40();
  return;
}

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

kernel void compute_main() {
  textureLoad_c9cc40();
  return;
}


tint_BXWR82.metal:5:14: error: use of undeclared identifier 'arg_0'
  int4 res = arg_0.read(1);
             ^
1 error generated.
