[tools]: Generate intrinisic test cases

Add test/intrinsics/intrinsics.wgsl.tmpl that generates a vast set of intrinsic overload permutations into test/intrinsics/gen/...

Add expected output for all of these, including 'SKIP' headers for those that currently fail.

Fixed: tint:832
Change-Id: Id6888df52c07f35e7a55199f2ad4d842c6e2595c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/53051
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
diff --git a/test/intrinsics/gen/textureDimensions/0e32ee.wgsl.expected.msl b/test/intrinsics/gen/textureDimensions/0e32ee.wgsl.expected.msl
new file mode 100644
index 0000000..ba2297d
--- /dev/null
+++ b/test/intrinsics/gen/textureDimensions/0e32ee.wgsl.expected.msl
@@ -0,0 +1,38 @@
+SKIP: FAILED
+
+
+
+Validation Failure:
+#include <metal_stdlib>
+
+using namespace metal;
+void textureDimensions_0e32ee() {
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+}
+
+vertex void vertex_main() {
+  textureDimensions_0e32ee();
+  return;
+}
+
+fragment void fragment_main() {
+  textureDimensions_0e32ee();
+  return;
+}
+
+kernel void compute_main() {
+  textureDimensions_0e32ee();
+  return;
+}
+
+
+tint_xjHPQ6.metal:5:19: error: use of undeclared identifier 'arg_0'
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+                  ^
+tint_xjHPQ6.metal:5:38: error: use of undeclared identifier 'arg_0'
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+                                     ^
+tint_xjHPQ6.metal:5:58: error: use of undeclared identifier 'arg_0'
+  int3 res = int3(arg_0.get_width(), arg_0.get_height(), arg_0.get_depth());
+                                                         ^
+3 errors generated.