SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void textureStore_9d9cd5() {
  arg_0.write(float4(), int2(), 1);
}

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

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

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


tint_7LP9Um.metal:5:3: error: use of undeclared identifier 'arg_0'
  arg_0.write(float4(), int2(), 1);
  ^
1 error generated.
