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 { |