aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkColorSpaceXformSteps.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2018-05-24 15:27:03 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-24 19:51:51 +0000
commitbe6e575ee725e8304e782b60eebf515036215288 (patch)
tree810c0d25be56cf5194a73d467b95810002843c09 /src/core/SkColorSpaceXformSteps.cpp
parentb12175f40fcd3d049de3f38d5388f6eb483ab268 (diff)
spin off unpremul and opaque tests
- opaque and unpremul are never the same... there's no reason to ever premul opaque sources. - under optimization, they won't always be a deterministic tweak the the premul steps (though right now they still are). Change-Id: I5669b3dba83774326c07d5a8f16b1d2ce2b22aae Reviewed-on: https://skia-review.googlesource.com/130061 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkColorSpaceXformSteps.cpp')
-rw-r--r--src/core/SkColorSpaceXformSteps.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/core/SkColorSpaceXformSteps.cpp b/src/core/SkColorSpaceXformSteps.cpp
index cc69192bd9..c05bf6304e 100644
--- a/src/core/SkColorSpaceXformSteps.cpp
+++ b/src/core/SkColorSpaceXformSteps.cpp
@@ -49,13 +49,12 @@ SkColorSpaceXformSteps::SkColorSpaceXformSteps(SkColorSpace* src, SkAlphaType sr
#endif
bool srcNL = src->nonlinearBlending(),
- srcPM = srcAT == kPremul_SkAlphaType,
dstNL = dst->nonlinearBlending();
// Step 1) get source colors into linear, unpremul format
- this->early_unpremul = srcNL && srcPM;
+ this->early_unpremul = srcNL && srcAT == kPremul_SkAlphaType;
this->linearize_src = true;
- this->late_unpremul = !srcNL && srcPM;
+ this->late_unpremul = !srcNL && srcAT == kPremul_SkAlphaType;
// Step 2) transform source colors into destination gamut
this->gamut_transform = (src->toXYZD50Hash() != dst->toXYZD50Hash());
@@ -77,7 +76,7 @@ SkColorSpaceXformSteps::SkColorSpaceXformSteps(SkColorSpace* src, SkAlphaType sr
this->early_encode = dstNL;
// Step 4) premul so we can blend
- this->premul = true || !srcPM;
+ this->premul = srcAT != kOpaque_SkAlphaType;
// Step a) linearize if dst has linear blending
this->linearize_dst = !dstNL;