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 |