diff options
author | joshualitt <joshualitt@chromium.org> | 2015-02-25 11:21:21 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-25 11:21:21 -0800 |
commit | 586d5d640b19860dfbbd903a5188da1bbbe87336 (patch) | |
tree | ab3fde1525edf311a9c384404a847757251108be /src/effects/SkBlurMaskFilter.cpp | |
parent | 63d0024cde57eba4f7802fdc4fe49467867f52ba (diff) |
I'd really like to land this before the branch so speedy reviews are appreciated.
BUG=skia:
Review URL: https://codereview.chromium.org/936943002
Diffstat (limited to 'src/effects/SkBlurMaskFilter.cpp')
-rw-r--r-- | src/effects/SkBlurMaskFilter.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp index ae4f756b25..d7c874cfda 100644 --- a/src/effects/SkBlurMaskFilter.cpp +++ b/src/effects/SkBlurMaskFilter.cpp @@ -50,12 +50,14 @@ public: virtual bool directFilterMaskGPU(GrContext* context, GrRenderTarget* rt, GrPaint* grp, + const GrClip&, const SkMatrix& viewMatrix, const SkStrokeRec& strokeRec, const SkPath& path) const SK_OVERRIDE; virtual bool directFilterRRectMaskGPU(GrContext* context, GrRenderTarget* rt, GrPaint* grp, + const GrClip&, const SkMatrix& viewMatrix, const SkStrokeRec& strokeRec, const SkRRect& rrect) const SK_OVERRIDE; @@ -830,6 +832,7 @@ GrFragmentProcessor* GrRectBlurEffect::TestCreate(SkRandom* random, bool SkBlurMaskFilterImpl::directFilterMaskGPU(GrContext* context, GrRenderTarget* rt, GrPaint* grp, + const GrClip& clip, const SkMatrix& viewMatrix, const SkStrokeRec& strokeRec, const SkPath& path) const { @@ -863,7 +866,7 @@ bool SkBlurMaskFilterImpl::directFilterMaskGPU(GrContext* context, if (!viewMatrix.invert(&inverse)) { return false; } - context->drawNonAARectWithLocalMatrix(rt, *grp, SkMatrix::I(), rect, inverse); + context->drawNonAARectWithLocalMatrix(rt, clip, *grp, SkMatrix::I(), rect, inverse); return true; } @@ -1120,6 +1123,7 @@ GrGLFragmentProcessor* GrRRectBlurEffect::createGLInstance() const { bool SkBlurMaskFilterImpl::directFilterRRectMaskGPU(GrContext* context, GrRenderTarget* rt, GrPaint* grp, + const GrClip& clip, const SkMatrix& viewMatrix, const SkStrokeRec& strokeRec, const SkRRect& rrect) const { @@ -1148,7 +1152,7 @@ bool SkBlurMaskFilterImpl::directFilterRRectMaskGPU(GrContext* context, if (!viewMatrix.invert(&inverse)) { return false; } - context->drawNonAARectWithLocalMatrix(rt, *grp, SkMatrix::I(), proxy_rect, inverse); + context->drawNonAARectWithLocalMatrix(rt, clip, *grp, SkMatrix::I(), proxy_rect, inverse); return true; } @@ -1200,8 +1204,6 @@ bool SkBlurMaskFilterImpl::filterMaskGPU(GrTexture* src, GrContext* context = src->getContext(); - GrContext::AutoWideOpenIdentityDraw awo(context); - SkScalar xformedSigma = this->computeXformedSigma(ctm); SkASSERT(xformedSigma > 0); @@ -1232,7 +1234,8 @@ bool SkBlurMaskFilterImpl::filterMaskGPU(GrTexture* src, // = 0 * src + (1 - src) * dst paint.setCoverageSetOpXPFactory(SkRegion::kDifference_Op); } - context->drawRect((*result)->asRenderTarget(), paint, SkMatrix::I(), clipRect); + context->drawRect((*result)->asRenderTarget(), GrClip::WideOpen(), paint, SkMatrix::I(), + clipRect); } return true; |