Index: src/gpu/GrBlurUtils.cpp |
diff --git a/src/gpu/GrBlurUtils.cpp b/src/gpu/GrBlurUtils.cpp |
index caea2b45f5045fc62e8771f6f44d78469d3b551e..3a90db30a1b01baf40aafd9376741481a70cb1b7 100644 |
--- a/src/gpu/GrBlurUtils.cpp |
+++ b/src/gpu/GrBlurUtils.cpp |
@@ -43,6 +43,8 @@ static bool draw_mask(GrDrawContext* drawContext, |
if (!viewMatrix.invert(&inverse)) { |
return false; |
} |
+ |
+ drawContext->uses(mask); |
drawContext->drawNonAARectWithLocalMatrix(rt, clip, *grp, SkMatrix::I(), maskRect, inverse); |
return true; |
} |
@@ -123,7 +125,8 @@ static GrTexture* create_mask_GPU(GrContext* context, |
SkRect clipRect = SkRect::MakeWH(maskRect.width(), maskRect.height()); |
- GrDrawContext* drawContext = context->drawContext(); |
+ // TODO: need to propagate this drawcontext back to the caller |
+ GrDrawContext* drawContext = context->drawContext(mask->asRenderTarget()); |
if (!drawContext) { |
return NULL; |
} |
@@ -242,6 +245,7 @@ void GrBlurUtils::drawPathWithMaskFilter(GrContext* context, |
} |
if (paint.getMaskFilter()->directFilterMaskGPU(context, |
+ drawContext, |
renderTarget, |
&grPaint, |
clip, |