| Index: src/core/SkImageFilter.cpp
|
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
|
| index 6456d17a6986df4a062f0ac53d32429d91481d1f..666b71983114f9b4321fd735ffd8c7bb438220f7 100644
|
| --- a/src/core/SkImageFilter.cpp
|
| +++ b/src/core/SkImageFilter.cpp
|
| @@ -255,13 +255,14 @@ bool SkImageFilter::filterImageGPU(Proxy* proxy, const SkBitmap& src, const Cont
|
| desc.fHeight = bounds.height();
|
| desc.fConfig = kRGBA_8888_GrPixelConfig;
|
|
|
| - GrAutoScratchTexture dst(context, desc);
|
| - if (NULL == dst.texture()) {
|
| + SkAutoTUnref<GrTexture> dst(
|
| + context->refScratchTexture(desc, GrContext::kApprox_ScratchTexMatch));
|
| + if (!dst) {
|
| return false;
|
| }
|
| GrContext::AutoMatrix am;
|
| am.setIdentity(context);
|
| - GrContext::AutoRenderTarget art(context, dst.texture()->asRenderTarget());
|
| + GrContext::AutoRenderTarget art(context, dst->asRenderTarget());
|
| GrContext::AutoClip acs(context, dstRect);
|
| GrFragmentProcessor* fp;
|
| offset->fX = bounds.left();
|
| @@ -275,8 +276,7 @@ bool SkImageFilter::filterImageGPU(Proxy* proxy, const SkBitmap& src, const Cont
|
| paint.addColorProcessor(fp)->unref();
|
| context->drawRectToRect(paint, dstRect, srcRect);
|
|
|
| - SkAutoTUnref<GrTexture> resultTex(dst.detach());
|
| - WrapTexture(resultTex, bounds.width(), bounds.height(), result);
|
| + WrapTexture(dst, bounds.width(), bounds.height(), result);
|
| return true;
|
| }
|
| #endif
|
|
|