| Index: src/core/SkImageFilter.cpp
|
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
|
| index 09c26d387e86288fa0a18fdf7d86334cec62c6d5..df46a13d3c797053d33fa1282048114761a8313b 100644
|
| --- a/src/core/SkImageFilter.cpp
|
| +++ b/src/core/SkImageFilter.cpp
|
| @@ -20,8 +20,9 @@
|
| #include "SkWriteBuffer.h"
|
| #if SK_SUPPORT_GPU
|
| #include "GrContext.h"
|
| -#include "GrRenderTargetContext.h"
|
| #include "GrFixedClip.h"
|
| +#include "GrRenderTargetContext.h"
|
| +#include "GrTextureProxy.h"
|
| #include "SkGrPriv.h"
|
| #endif
|
|
|
| @@ -285,7 +286,7 @@ sk_sp<SkSpecialImage> SkImageFilter::DrawWithFP(GrContext* context,
|
|
|
| sk_sp<SkColorSpace> colorSpace = sk_ref_sp(outputProperties.colorSpace());
|
| GrPixelConfig config = GrRenderableConfigForColorSpace(colorSpace.get());
|
| - sk_sp<GrRenderTargetContext> renderTargetContext(context->makeRenderTargetContext(
|
| + sk_sp<GrRenderTargetContext> renderTargetContext(context->makeDeferredRenderTargetContext(
|
| SkBackingFit::kApprox, bounds.width(), bounds.height(), config, std::move(colorSpace)));
|
| if (!renderTargetContext) {
|
| return nullptr;
|
| @@ -298,9 +299,10 @@ sk_sp<SkSpecialImage> SkImageFilter::DrawWithFP(GrContext* context,
|
| GrFixedClip clip(dstIRect);
|
| renderTargetContext->fillRectToRect(clip, paint, SkMatrix::I(), dstRect, srcRect);
|
|
|
| - return SkSpecialImage::MakeFromGpu(dstIRect, kNeedNewImageUniqueID_SpecialImage,
|
| - renderTargetContext->asTexture(),
|
| - sk_ref_sp(renderTargetContext->getColorSpace()));
|
| + return SkSpecialImage::MakeDeferredFromGpu(context, dstIRect,
|
| + kNeedNewImageUniqueID_SpecialImage,
|
| + sk_ref_sp(renderTargetContext->asDeferredTexture()),
|
| + sk_ref_sp(renderTargetContext->getColorSpace()));
|
| }
|
| #endif
|
|
|
|
|