diff options
author | Brian Osman <brianosman@google.com> | 2018-07-06 16:16:43 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-06 20:39:21 +0000 |
commit | ccd3995e5d8dc703c1f0ef7133fc5b527cd6e42c (patch) | |
tree | 169902d83db222c5192f1026de01b84ca22d592e /src/shaders | |
parent | a50205fca5f7cff36dd3adac841b4c23a90a0b7d (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.cpp | 4 |
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) |