Add capability for SkColorXform to output half floats

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147763002
CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review-Url: https://codereview.chromium.org/2147763002
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 78b403b..cccc92b 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -740,17 +740,22 @@
     }
 
     for (auto colorImage : colorImages) {
-        ColorCodecSrc* src = new ColorCodecSrc(colorImage, ColorCodecSrc::kBaseline_Mode);
+        ColorCodecSrc* src = new ColorCodecSrc(colorImage, ColorCodecSrc::kBaseline_Mode,
+                                               kN32_SkColorType);
         push_src("image", "color_codec_baseline", src);
 
-        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_HPZR30w_Mode);
+        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_HPZR30w_Mode, kN32_SkColorType);
         push_src("image", "color_codec_HPZR30w", src);
+        // TODO (msarett):
+        // Should we test this Dst in F16 mode (even though the Dst gamma is 2.2 instead of sRGB)?
 
-        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_sRGB_Mode);
-        push_src("image", "color_codec_sRGB", src);
+        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_sRGB_Mode, kN32_SkColorType);
+        push_src("image", "color_codec_sRGB_kN32", src);
+        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_sRGB_Mode, kRGBA_F16_SkColorType);
+        push_src("image", "color_codec_sRGB_kF16", src);
 
 #if defined(SK_TEST_QCMS)
-        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kQCMS_HPZR30w_Mode);
+        src = new ColorCodecSrc(colorImage, ColorCodecSrc::kQCMS_HPZR30w_Mode, kN32_SkColorType);
         push_src("image", "color_codec_QCMS_HPZR30w", src);
 #endif
     }