aboutsummaryrefslogtreecommitdiffhomepage
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
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>
-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)