SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void textureDimensions_7bb707() {
  int3 res = int3(arg_0.get_width(1), arg_0.get_height(1), arg_0.get_height(1));
}

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

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

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


tint_VyEaVz.metal:5:19: error: use of undeclared identifier 'arg_0'
  int3 res = int3(arg_0.get_width(1), arg_0.get_height(1), arg_0.get_height(1));
                  ^
tint_VyEaVz.metal:5:39: error: use of undeclared identifier 'arg_0'
  int3 res = int3(arg_0.get_width(1), arg_0.get_height(1), arg_0.get_height(1));
                                      ^
tint_VyEaVz.metal:5:60: error: use of undeclared identifier 'arg_0'
  int3 res = int3(arg_0.get_width(1), arg_0.get_height(1), arg_0.get_height(1));
                                                           ^
3 errors generated.
