Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index 5310c9f7d5254e03b18c32fb752e7ed745d16a5a..8426f090ec5949653ab516ffca3f7d33a317c338 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -936,6 +936,14 @@ void SkCanvas::internalSaveLayer(const SkRect* bounds, const SkPaint* paint, Sav |
} |
SkBaseDevice::TileUsage usage = SkBaseDevice::kNever_TileUsage; |
+#if 1 |
+ // this seems needed for current GMs, but makes us draw slower on the GPU |
+ // Related to https://code.google.com/p/skia/issues/detail?id=3519 ? |
+ // |
+ if (paint && paint->getImageFilter()) { |
+ usage = SkBaseDevice::kPossible_TileUsage; |
+ } |
+#endif |
device = device->onCreateDevice(SkBaseDevice::CreateInfo(info, usage, geo), paint); |
if (NULL == device) { |
SkErrorInternals::SetError( kInternalError_SkError, |