aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/text/GrTextContext.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-07-03 10:40:57 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-03 15:28:54 +0000
commit34ec37458b0a6e157912e0ff6ee8e136885474b9 (patch)
tree4effe9b5fd3f56fde4129b808a3c9eb21958c87d /src/gpu/text/GrTextContext.cpp
parent630741c7c0ea8e504b04afd2f758232fb5c839a4 (diff)
Replace isGammaCorrect with isLinearlyBlended
We were using isGammaCorrect (presence of a color space) to trigger rendering effects that should only apply when doing linear blending. Rename and redefine that function to fix many of those issues. In a few places, we really do care about the color space. The big win here is text rendering, which is now the same on legacy gl and glsrgb configs. Also left some comments about our desire to do something smarter for text in the future. Bug: skia: Change-Id: I94106e95f5f81aaa0a28dbaccd65f5d94cf0de67 Reviewed-on: https://skia-review.googlesource.com/139109 Commit-Queue: Brian Osman <brianosman@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src/gpu/text/GrTextContext.cpp')
-rw-r--r--src/gpu/text/GrTextContext.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gpu/text/GrTextContext.cpp b/src/gpu/text/GrTextContext.cpp
index a20ba4424a..16f164c9c8 100644
--- a/src/gpu/text/GrTextContext.cpp
+++ b/src/gpu/text/GrTextContext.cpp
@@ -75,9 +75,10 @@ SkColor GrTextContext::ComputeCanonicalColor(const SkPaint& paint, bool lcd) {
SkScalerContextFlags GrTextContext::ComputeScalerContextFlags(
const GrColorSpaceInfo& colorSpaceInfo) {
- // If we're doing gamma-correct rendering, then we can disable the gamma hacks.
+ // If we're doing linear blending, then we can disable the gamma hacks.
// Otherwise, leave them on. In either case, we still want the contrast boost:
- if (colorSpaceInfo.isGammaCorrect()) {
+ // TODO: Can we be even smarter about mask gamma based on the dest transfer function?
+ if (colorSpaceInfo.isLinearlyBlended()) {
return SkScalerContextFlags::kBoostContrast;
} else {
return SkScalerContextFlags::kFakeGammaAndBoostContrast;