Create SkColorSpaceXform to handle color conversions
Also adds testing of qcms color correction, so we can compare
SkColorSpaceXform outputs to qcms outputs.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952063002
Committed: https://skia.googlesource.com/skia/+/740cc88ee3d63c75e52d31238f2a32600cc57a8c
Review-Url: https://codereview.chromium.org/1952063002
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 8ee2ea7..56c3b66 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -724,18 +724,17 @@
return false;
}
- // Load the dstSpace. This particular dst is fairly similar to Adobe RGB.
- SkAutoTUnref<SkData> data(SkData::NewFromFileName(
- GetResourcePath("monitor_profiles/HP_ZR30w.icc").c_str()));
- sk_sp<SkColorSpace> dstSpace = SkColorSpace::NewICC(data->data(), data->size());
- SkASSERT(dstSpace);
-
for (auto colorImage : colorImages) {
- ColorCodecSrc* src = new ColorCodecSrc(colorImage, ColorCodecSrc::kBaseline_Mode, nullptr);
+ ColorCodecSrc* src = new ColorCodecSrc(colorImage, ColorCodecSrc::kBaseline_Mode);
push_src("image", "color_codec_baseline", src);
- src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_HPZR30w_Mode, dstSpace);
+ src = new ColorCodecSrc(colorImage, ColorCodecSrc::kDst_HPZR30w_Mode);
push_src("image", "color_codec_HPZR30w", src);
+
+#if !defined(GOOGLE3)
+ src = new ColorCodecSrc(colorImage, ColorCodecSrc::kQCMS_HPZR30w_Mode);
+ push_src("image", "color_codec_QCMS_HPZR30w", src);
+#endif
}
return true;