diff options
author | brianosman <brianosman@google.com> | 2016-09-12 08:50:19 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-12 08:50:19 -0700 |
commit | 5192475bd8cb98e8e0c1192ab5ece7b8595701d6 (patch) | |
tree | 29461e55053726c93c8c612e6fe65dc89fc1a431 /src/gpu/GrColorSpaceXform.cpp | |
parent | 9b0fe3d125f237d9884732a48414fa85fc71b4e3 (diff) |
Two changes:
1. Remove special premul handling from gamut xform code
Alpha is a constant, so the gamut transformation results remain unchanged
(it distributes across the linear matrix multiply).
2. Use SkMatrix44 rather than array of floats
Preserves semantic intention, and makes upcoming code (where we transform
colors on the CPU by that matrix) simpler.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2329553002
Review-Url: https://codereview.chromium.org/2329553002
Diffstat (limited to 'src/gpu/GrColorSpaceXform.cpp')
-rw-r--r-- | src/gpu/GrColorSpaceXform.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/gpu/GrColorSpaceXform.cpp b/src/gpu/GrColorSpaceXform.cpp index c7be3065f3..2d17610bda 100644 --- a/src/gpu/GrColorSpaceXform.cpp +++ b/src/gpu/GrColorSpaceXform.cpp @@ -35,13 +35,10 @@ static inline bool matrix_is_almost_identity(const SkMatrix44& m, sk_float_almost_equals(m.getFloat(3, 3), 1.0f, tol); } -GrColorSpaceXform::GrColorSpaceXform(const SkMatrix44& srcToDst, SkAlphaType srcAlphaType) - : fSrcAlphaType(srcAlphaType) { - srcToDst.asColMajorf(fSrcToDst); -} +GrColorSpaceXform::GrColorSpaceXform(const SkMatrix44& srcToDst) + : fSrcToDst(srcToDst) {} -sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, SkColorSpace* dst, - SkAlphaType srcAlphaType) { +sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, SkColorSpace* dst) { if (!src || !dst) { // Invalid return nullptr; @@ -59,5 +56,5 @@ sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, SkColorSpace return nullptr; } - return sk_make_sp<GrColorSpaceXform>(srcToDst, srcAlphaType); + return sk_make_sp<GrColorSpaceXform>(srcToDst); } |