aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkConvertPixels.cpp
diff options
context:
space:
mode:
authorGravatar Christopher Cameron <ccameron@chromium.org>2017-07-30 12:46:39 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-31 20:39:37 +0000
commit179849efe5f5bb20e7036bb6e5a9f4bb9ad8b2f1 (patch)
tree13d4400b3b23b1ec5f9bdb47be728bab1fed0c66 /src/core/SkConvertPixels.cpp
parent0500ebafec1879a7c5f76fe40ee30bdab17ac3db (diff)
Fix premul state in from_srgb in convert_with_pipeline
Without this patch, the pipeline 1. converts to unpremultiplied 2. applies the sRGB transfer assuming the pixel is premultiplied In step 2, we should assume the pixel is unpremultiplied. Bug:738517 Change-Id: Ic11fcf64faa423577ccb1cfc0cfe96feb57db09a Reviewed-on: https://skia-review.googlesource.com/28404 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src/core/SkConvertPixels.cpp')
-rw-r--r--src/core/SkConvertPixels.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/SkConvertPixels.cpp b/src/core/SkConvertPixels.cpp
index 6b335e246b..3bfa6893c4 100644
--- a/src/core/SkConvertPixels.cpp
+++ b/src/core/SkConvertPixels.cpp
@@ -301,7 +301,7 @@ static void convert_with_pipeline(const SkImageInfo& dstInfo, void* dstRow, size
SkColorSpaceTransferFn srcFn;
if (isColorAware && srcInfo.gammaCloseToSRGB()) {
- pipeline.append_from_srgb(srcInfo.alphaType());
+ pipeline.append_from_srgb(premulState);
} else if (isColorAware && !srcInfo.colorSpace()->gammaIsLinear()) {
SkAssertResult(srcInfo.colorSpace()->isNumericalTransferFn(&srcFn));
pipeline.append(SkRasterPipeline::parametric_r, &srcFn);