SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

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

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

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

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


tint_57n5Dl.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_57n5Dl.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_57n5Dl.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.
