diff options
author | 2018-06-05 11:12:31 -0400 | |
---|---|---|
committer | 2018-06-05 15:39:29 +0000 | |
commit | 8f9c325df591f5f63813376578e6287aace4aaae (patch) | |
tree | c48c03502db00a09aa7d422669ac8d35213f5803 /src/gpu/SkGr.cpp | |
parent | 7d63778a0a262a8728fd2507794d3a8d92e5fac5 (diff) |
Always use filterColor4f to filter paint colors
The rationale here wasn't even correct before - filterColor4f did not
use a linearized version of the stored color (for mode color filter),
so it's always safe and correct to call the 4f version.
Change-Id: I7087342e531e1768c945f78fb2126954b2dc5a86
Reviewed-on: https://skia-review.googlesource.com/132088
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r-- | src/gpu/SkGr.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index 783be5cb6c..69df337dfc 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -397,15 +397,8 @@ static inline bool skpaint_to_grpaint_impl(GrContext* context, SkColorFilter* colorFilter = skPaint.getColorFilter(); if (colorFilter) { if (applyColorFilterToPaintColor) { - // If we're in legacy mode, we *must* avoid using the 4f version of the color filter, - // because that will combine with the linearized version of the stored color. - if (colorSpaceInfo.isGammaCorrect()) { - grPaint->setColor4f(GrColor4f::FromSkColor4f( + grPaint->setColor4f(GrColor4f::FromSkColor4f( colorFilter->filterColor4f(origColor.toSkColor4f())).premul()); - } else { - grPaint->setColor4f(SkColorToPremulGrColor4fLegacy( - colorFilter->filterColor(skPaint.getColor()))); - } } else { auto cfFP = colorFilter->asFragmentProcessor(context, colorSpaceInfo); if (cfFP) { |