Index: src/effects/SkBlurMaskFilter.cpp |
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp |
index 22a9ac62a20c40b5be5e64e753ea50e3b8584bf6..98a748bd90d5078311963b58549743904977896a 100644 |
--- a/src/effects/SkBlurMaskFilter.cpp |
+++ b/src/effects/SkBlurMaskFilter.cpp |
@@ -49,6 +49,7 @@ public: |
const SkMatrix& ctm, |
SkRect* maskRect) const override; |
virtual bool directFilterMaskGPU(GrContext* context, |
+ GrDrawContext* drawContext, |
GrRenderTarget* rt, |
GrPaint* grp, |
const GrClip&, |
@@ -834,12 +835,15 @@ GrFragmentProcessor* GrRectBlurEffect::TestCreate(SkRandom* random, |
bool SkBlurMaskFilterImpl::directFilterMaskGPU(GrContext* context, |
+ GrDrawContext* drawContext, |
GrRenderTarget* rt, |
GrPaint* grp, |
const GrClip& clip, |
const SkMatrix& viewMatrix, |
const SkStrokeRec& strokeRec, |
const SkPath& path) const { |
+ SkASSERT(drawContext); |
+ |
if (fBlurStyle != kNormal_SkBlurStyle) { |
return false; |
} |
@@ -853,10 +857,9 @@ bool SkBlurMaskFilterImpl::directFilterMaskGPU(GrContext* context, |
return false; |
} |
- SkMatrix ctm = viewMatrix; |
- SkScalar xformedSigma = this->computeXformedSigma(ctm); |
+ SkScalar xformedSigma = this->computeXformedSigma(viewMatrix); |
- int pad=SkScalarCeilToInt(6*xformedSigma)/2; |
+ int pad = SkScalarCeilToInt(6*xformedSigma)/2; |
rect.outset(SkIntToScalar(pad), SkIntToScalar(pad)); |
SkAutoTUnref<GrFragmentProcessor> fp(GrRectBlurEffect::Create( |
@@ -872,13 +875,8 @@ bool SkBlurMaskFilterImpl::directFilterMaskGPU(GrContext* context, |
return false; |
} |
- GrDrawContext* drawContext = context->drawContext(); |
- if (drawContext) { |
- drawContext->drawNonAARectWithLocalMatrix(rt, clip, *grp, SkMatrix::I(), rect, inverse); |
- return true; |
- } |
- |
- return false; |
+ drawContext->drawNonAARectWithLocalMatrix(rt, clip, *grp, SkMatrix::I(), rect, inverse); |
+ return true; |
} |
class GrRRectBlurEffect : public GrFragmentProcessor { |