aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-07-06 16:16:43 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-06 20:39:21 +0000
commitccd3995e5d8dc703c1f0ef7133fc5b527cd6e42c (patch)
tree169902d83db222c5192f1026de01b84ca22d592e /src/shaders
parenta50205fca5f7cff36dd3adac841b4c23a90a0b7d (diff)
Support older SKPs drawing to legacy destinations correctly
We were ignoring the linear aspect of the serialized colors, and treating them as if they were sRGB-encoded. Now, always transform colors back to sRGB when drawing to legacy destinations. Change-Id: I980aae73a3e536cccb65b841967a01b6811aa863 Reviewed-on: https://skia-review.googlesource.com/139550 Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src/shaders')
-rw-r--r--src/shaders/gradients/SkGradientShader.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp
index fd97bc8925..1cbad4ac11 100644
--- a/src/shaders/gradients/SkGradientShader.cpp
+++ b/src/shaders/gradients/SkGradientShader.cpp
@@ -461,8 +461,10 @@ SkColor4fXformer::SkColor4fXformer(const SkColor4f* colors, int colorCount,
SkColorSpace* src, SkColorSpace* dst) {
// Transform all of the colors to destination color space
fColors = colors;
+
+ // Treat null destinations as sRGB (safe because sRGB is a global singleton)
if (!dst) {
- return;
+ dst = SkColorSpace::MakeSRGB().get();
}
// Treat null sources as sRGB (safe because sRGB is a global singleton)