Reland: Enable YCbCr sampler support on platforms other than Android

Previously YCbCr Vulkan samplers were supported only on Android for
external images, while Vulkan requires YCbCr sampler for I420 YUV image
formats such as VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
VK_FORMAT_G8_B8R8_2PLANE_420_UNORM.
This CL:
 - Adds VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM and
   VK_FORMAT_G8_B8R8_2PLANE_420_UNORM as supported Vulkan formats
 - Updates GrVkYcbcrConversionInfo to add fFormat field and allow
   fExternalFormat=0.
 - Removes assertions format=VK_FORMAT_UNDEFINED for all images that
   have ycbcr info.

Bug: chromium:981022
Change-Id: Id4d81b20d9fda4d9ad0831f77e6025eed3db2bfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/233776
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Auto-Submit: Sergey Ulanov <sergeyu@chromium.org>
diff --git a/gn/tests.gni b/gn/tests.gni
index 5815c04..951a04e 100644
--- a/gn/tests.gni
+++ b/gn/tests.gni
@@ -303,6 +303,7 @@
   "$_tests/VkPriorityExtensionTest.cpp",
   "$_tests/VkProtectedContextTest.cpp",
   "$_tests/VkWrapTests.cpp",
+  "$_tests/VkYcbcrSamplerTest.cpp",
   "$_tests/VptrTest.cpp",
   "$_tests/WindowRectanglesTest.cpp",
   "$_tests/WritePixelsTest.cpp",