Add golden outputs for the Metal backend.

This CL also updates the blend tests to use sk_FragColor instead of
returning a half4, as the Metal backend assumes that a fragment
processor's `main` will return void and always synthesizes a
`return *_out;` at the end.

(context link:
https://osscs.corp.google.com/android/platform/superproject/+/master:external/skqp/src/sksl/SkSLMetalCodeGenerator.cpp;l=803;drc=842d31b14159626054e01dd32826563a8f4214bf )

BYPASS_INCLUSIVE_LANGUAGE_REASON=see http://b/168134166

Change-Id: I330a456bf25ee72d3a29c59cd624625378ae80a0
Bug: skia:10649, skia:10757, skia:10758, skia:10759, skia:10760, skia:10761, skia:10762
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319409
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 02e3462..e7a79b9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -732,6 +732,15 @@
     lang = "--glsl"
     settings = "--nosettings"
   }
+  compile_sksl("metal_tests") {
+    sources = sksl_metal_tests_sources
+    outputPatterns = [ [
+          "/golden/",
+          ".metal",
+        ] ]
+    lang = "--metal"
+    settings = "--settings"
+  }
 } else {
   group("compile_sksl_fp_tests") {
   }
@@ -739,6 +748,8 @@
   }
   group("compile_sksl_glsl_nosettings_tests") {
   }
+  group("compile_sksl_metal_tests") {
+  }
 }
 
 optional("gpu") {
@@ -748,6 +759,7 @@
     ":compile_sksl_fp_tests",
     ":compile_sksl_glsl_nosettings_tests",
     ":compile_sksl_glsl_tests",
+    ":compile_sksl_metal_tests",
     ":dehydrate_sksl",
     ":run_sksllex",
   ]