Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index 9d7a3d5c0a034f5d352ac7a07baeed9a82502d4e..de69c368cd23ea53a69dcc575d5b796a5960b38b 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -1408,7 +1408,7 @@ |
paint = &looper.paint(); |
SkImageFilter* filter = paint->getImageFilter(); |
SkIPoint pos = { x - iter.getX(), y - iter.getY() }; |
- if (filter) { |
+ if (filter && !dstDev->canHandleImageFilter(filter)) { |
SkImageFilter::DeviceProxy proxy(dstDev); |
SkIPoint offset = SkIPoint::Make(0, 0); |
const SkBitmap& srcBM = srcDev->accessBitmap(false); |