diff options
author | Mike Klein <mtklein@chromium.org> | 2018-05-24 15:27:03 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-24 19:51:51 +0000 |
commit | be6e575ee725e8304e782b60eebf515036215288 (patch) | |
tree | 810c0d25be56cf5194a73d467b95810002843c09 /src/core/SkColorSpaceXformSteps.cpp | |
parent | b12175f40fcd3d049de3f38d5388f6eb483ab268 (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.cpp | 7 |
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; |