Index: src/core/SkImageFilter.cpp |
diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp |
index ed6d14ac147b7464814f18188168c689712faf90..d0042527e48c29381c0a93fc94e1d98981d5fe31 100644 |
--- a/src/core/SkImageFilter.cpp |
+++ b/src/core/SkImageFilter.cpp |
@@ -280,18 +280,9 @@ sk_sp<SkSpecialImage> SkImageFilter::DrawWithFP(GrContext* context, |
paint.addColorFragmentProcessor(fp.get()); |
paint.setPorterDuffXPFactory(SkXfermode::kSrc_Mode); |
- GrSurfaceDesc desc; |
- desc.fFlags = kRenderTarget_GrSurfaceFlag; |
- desc.fWidth = bounds.width(); |
- desc.fHeight = bounds.height(); |
- desc.fConfig = kRGBA_8888_GrPixelConfig; |
- |
- sk_sp<GrTexture> dst(context->textureProvider()->createApproxTexture(desc)); |
- if (!dst) { |
- return nullptr; |
- } |
- |
- sk_sp<GrDrawContext> drawContext(context->drawContext(sk_ref_sp(dst->asRenderTarget()))); |
+ sk_sp<GrDrawContext> drawContext(context->newDrawContext(GrContext::kLoose_BackingFit, |
+ bounds.width(), bounds.height(), |
+ kRGBA_8888_GrPixelConfig)); |
if (!drawContext) { |
return nullptr; |
} |
@@ -303,7 +294,7 @@ sk_sp<SkSpecialImage> SkImageFilter::DrawWithFP(GrContext* context, |
return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(bounds.width(), bounds.height()), |
kNeedNewImageUniqueID_SpecialImage, |
- std::move(dst)); |
+ drawContext->asTexture()); |
} |
#endif |