aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Matt Sarett <msarett@google.com>2016-10-28 13:25:40 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-10-31 14:42:52 +0000
commita9fd106d0c4dd5449c607add0716db7bbd81bc73 (patch)
treeec415318b93882559750dc46ffb6d788ee8023d3 /src/core
parentcd5e7d75e96922d041cca9f10486e4f02974a545 (diff)
Draw Alpha8 + color filter correctly in software
This makes the behavior match our gpu backend. BUG=android:31019366 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3979 Change-Id: I941623d0bdf54f61aafb1383de46bbedceb7578d Reviewed-on: https://skia-review.googlesource.com/3979 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkDraw.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
index 44e31c4872..a3c2dff4ec 100644
--- a/src/core/SkDraw.cpp
+++ b/src/core/SkDraw.cpp
@@ -1342,7 +1342,8 @@ void SkDraw::drawBitmap(const SkBitmap& bitmap, const SkMatrix& prematrix,
SkDraw draw(*this);
draw.fMatrix = &matrix;
- if (bitmap.colorType() == kAlpha_8_SkColorType) {
+ if (bitmap.colorType() == kAlpha_8_SkColorType && !paint->getColorFilter() &&
+ !paint->getShader()) {
draw.drawBitmapAsMask(bitmap, *paint);
} else {
SkAutoBitmapShaderInstall install(bitmap, *paint);