| Index: src/effects/SkDisplacementMapEffect.cpp
|
| diff --git a/src/effects/SkDisplacementMapEffect.cpp b/src/effects/SkDisplacementMapEffect.cpp
|
| index 797bd972dd9850f979991127bf42cc2eb21392f0..cf9e2c3c9f9a77531b4ea751f87797e008146df0 100644
|
| --- a/src/effects/SkDisplacementMapEffect.cpp
|
| +++ b/src/effects/SkDisplacementMapEffect.cpp
|
| @@ -317,17 +317,6 @@ sk_sp<SkSpecialImage> SkDisplacementMapEffect::onFilterImage(SkSpecialImage* sou
|
| return nullptr;
|
| }
|
|
|
| - GrSurfaceDesc desc;
|
| - desc.fFlags = kRenderTarget_GrSurfaceFlag;
|
| - desc.fWidth = bounds.width();
|
| - desc.fHeight = bounds.height();
|
| - desc.fConfig = kSkia8888_GrPixelConfig;
|
| -
|
| - sk_sp<GrTexture> dst(context->textureProvider()->createApproxTexture(desc));
|
| - if (!dst) {
|
| - return nullptr;
|
| - }
|
| -
|
| GrPaint paint;
|
| SkMatrix offsetMatrix = GrCoordTransform::MakeDivByTextureWHMatrix(displTexture.get());
|
| offsetMatrix.preTranslate(SkIntToScalar(colorOffset.fX - displOffset.fX),
|
| @@ -346,7 +335,9 @@ sk_sp<SkSpecialImage> SkDisplacementMapEffect::onFilterImage(SkSpecialImage* sou
|
| SkMatrix matrix;
|
| matrix.setTranslate(-SkIntToScalar(colorBounds.x()), -SkIntToScalar(colorBounds.y()));
|
|
|
| - sk_sp<GrDrawContext> drawContext(context->drawContext(sk_ref_sp(dst->asRenderTarget())));
|
| + sk_sp<GrDrawContext> drawContext(context->newDrawContext(GrContext::kLoose_BackingFit,
|
| + bounds.width(), bounds.height(),
|
| + kSkia8888_GrPixelConfig));
|
| if (!drawContext) {
|
| return nullptr;
|
| }
|
| @@ -357,7 +348,7 @@ sk_sp<SkSpecialImage> SkDisplacementMapEffect::onFilterImage(SkSpecialImage* sou
|
| offset->fY = bounds.top();
|
| return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(bounds.width(), bounds.height()),
|
| kNeedNewImageUniqueID_SpecialImage,
|
| - std::move(dst));
|
| + drawContext->asTexture());
|
| }
|
| #endif
|
|
|
|
|