aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Yuqian Li <liyuqian@google.com>2016-11-11 09:40:34 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-11 16:15:08 +0000
commit8b9a725823fb195f24a85b5004b988e42fa82ef8 (patch)
tree1667320b1e70aa09470a42db89c65d463e08d724
parentc4f66af20e3a58a09554eb3db2bf45c6291fe3a8 (diff)
Skip left/right if alpha = 0 in SkRectClipCheckBlitter::blitAntiRect
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4684 Change-Id: I8c5e5f460dba76f9d74718f7ea104cb1f3cea993 Reviewed-on: https://skia-review.googlesource.com/4684 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
-rw-r--r--src/core/SkBlitter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp
index e5c935b60e..b81432533b 100644
--- a/src/core/SkBlitter.cpp
+++ b/src/core/SkBlitter.cpp
@@ -1052,7 +1052,10 @@ void SkRectClipCheckBlitter::blitRect(int x, int y, int width, int height) {
void SkRectClipCheckBlitter::blitAntiRect(int x, int y, int width, int height,
SkAlpha leftAlpha, SkAlpha rightAlpha) {
- SkASSERT(fClipRect.contains(SkIRect::MakeXYWH(x, y, width + 2, height)));
+ bool skipLeft = !leftAlpha;
+ bool skipRight = !rightAlpha;
+ SkASSERT(fClipRect.contains(SkIRect::MakeXYWH(x + skipLeft, y,
+ width + 2 - skipRight - skipLeft, height)));
fBlitter->blitAntiRect(x, y, width, height, leftAlpha, rightAlpha);
}