aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-04-30 12:16:29 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-04-30 18:09:33 +0000
commit44a8c74e3554abf8ad8726312ceecfbce2cddb7a (patch)
tree646073443748e5512d6851030088c78a0117a6cd /src
parentf8c52a198d01952b6b83ec30902cae33f0445816 (diff)
Use skcms equality to detect sRGB profiles
This ensures that table-based sRGB profiles convert to Skia's sRGB color space. Previously, they would turn into complex XYZ SkColorSpaces. Change-Id: Idda71970c6545b50d8ac8ff52872ed44e20aee39 Reviewed-on: https://skia-review.googlesource.com/124502 Auto-Submit: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/SkColorSpaceXform_skcms.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/SkColorSpaceXform_skcms.cpp b/src/core/SkColorSpaceXform_skcms.cpp
index bc5b3a23dc..4fd7cbf3da 100644
--- a/src/core/SkColorSpaceXform_skcms.cpp
+++ b/src/core/SkColorSpaceXform_skcms.cpp
@@ -133,6 +133,10 @@ sk_sp<SkColorSpace> SkColorSpace::Make(const skcms_ICCProfile* profile) {
return nullptr;
}
+ if (skcms_ApproximatelyEqualProfiles(profile, &skcms_sRGB_profile)) {
+ return SkColorSpace::MakeSRGB();
+ }
+
SkMatrix44 toXYZD50(SkMatrix44::kUninitialized_Constructor);
toXYZD50.set3x3RowMajorf(&profile->toXYZD50.vals[0][0]);
if (!toXYZD50.invert(nullptr)) {