| Index: src/core/SkImageFilter.cpp
|
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
|
| index 99a1d135486c1da80132906ba099582f2172225d..94b90d6a0561c3741730e6c94ba3bd4d2a44ac57 100644
|
| --- a/src/core/SkImageFilter.cpp
|
| +++ b/src/core/SkImageFilter.cpp
|
| @@ -257,7 +257,9 @@ bool SkImageFilter::filterImageGPU(Proxy* proxy, const SkBitmap& src, const Cont
|
| return false;
|
| }
|
|
|
| - GrContext::AutoClip acs(context, dstRect);
|
| + // setup new clip
|
| + GrClip clip(dstRect);
|
| +
|
| GrFragmentProcessor* fp;
|
| offset->fX = bounds.left();
|
| offset->fY = bounds.top();
|
| @@ -268,7 +270,8 @@ bool SkImageFilter::filterImageGPU(Proxy* proxy, const SkBitmap& src, const Cont
|
| SkASSERT(fp);
|
| GrPaint paint;
|
| paint.addColorProcessor(fp)->unref();
|
| - context->drawNonAARectToRect(dst->asRenderTarget(), paint, SkMatrix::I(), dstRect, srcRect);
|
| + context->drawNonAARectToRect(dst->asRenderTarget(), clip, paint, SkMatrix::I(), dstRect,
|
| + srcRect);
|
|
|
| WrapTexture(dst, bounds.width(), bounds.height(), result);
|
| return true;
|
| @@ -382,7 +385,7 @@ bool SkImageFilter::getInputResultGPU(SkImageFilter::Proxy* proxy,
|
| // matrix with no clip and that the matrix, clip, and render target set before this function was
|
| // called are restored before we return to the caller.
|
| GrContext* context = src.getTexture()->getContext();
|
| - GrContext::AutoWideOpenIdentityDraw awoid(context);
|
| +
|
| if (this->canFilterImageGPU()) {
|
| return this->filterImageGPU(proxy, src, ctx, result, offset);
|
| } else {
|
|
|