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
}