patch from issue 119343003
compile on 10.6, exclude failing gms
Sorry for making another CL; rebasing ToT on the old one ended up with code in a tangled mess; was easier to start over.
NOTRY=true
R=bsalomon@google.com, epoger@google.com, reed@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/148883005
git-svn-id: http://skia.googlecode.com/svn/trunk@13238 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index f951a15..c858403 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -933,7 +933,7 @@
// transform the path into device space
pathPtr->transform(fContext->getMatrix(), devPathPtr);
-
+
SkRect maskRect;
if (paint.getMaskFilter()->canFilterMaskGPU(devPathPtr->getBounds(),
draw.fClip->getBounds(),
@@ -953,6 +953,13 @@
// nothing to draw
return;
}
+
+ if (paint.getMaskFilter()->directFilterMaskGPU(fContext, &grPaint,
+ SkStrokeRec(paint), *devPathPtr)) {
+ // the mask filter was able to draw itself directly, so there's nothing
+ // left to do.
+ return;
+ }
GrAutoScratchTexture mask;