Index: src/effects/SkLightingImageFilter.cpp |
diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp |
index 703930d6e7639f6ac8fe1ea4dcfec76327ee70ce..55cf4b266a165d1b1ef84e319e1d335f01fec0e8 100644 |
--- a/src/effects/SkLightingImageFilter.cpp |
+++ b/src/effects/SkLightingImageFilter.cpp |
@@ -21,6 +21,7 @@ |
#include "GrFragmentProcessor.h" |
#include "GrInvariantOutput.h" |
#include "GrPaint.h" |
+#include "GrTextureProxy.h" |
#include "SkGr.h" |
#include "SkGrPriv.h" |
#include "effects/GrSingleTextureEffect.h" |
@@ -413,8 +414,8 @@ sk_sp<SkSpecialImage> SkLightingImageFilterInternal::filterImageGPU( |
sk_sp<GrTexture> inputTexture(input->asTextureRef(context)); |
SkASSERT(inputTexture); |
- sk_sp<GrRenderTargetContext> renderTargetContext(context->makeRenderTargetContext( |
- SkBackingFit::kApprox,offsetBounds.width(), offsetBounds.height(), |
+ sk_sp<GrRenderTargetContext> renderTargetContext(context->makeDeferredRenderTargetContext( |
+ SkBackingFit::kApprox, offsetBounds.width(), offsetBounds.height(), |
GrRenderableConfigForColorSpace(outputProperties.colorSpace()), |
sk_ref_sp(outputProperties.colorSpace()))); |
if (!renderTargetContext) { |
@@ -458,10 +459,11 @@ sk_sp<SkSpecialImage> SkLightingImageFilterInternal::filterImageGPU( |
this->drawRect(renderTargetContext.get(), inputTexture.get(), matrix, clip, bottomRight, |
kBottomRight_BoundaryMode, pSrcBounds, offsetBounds); |
- return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(offsetBounds.width(), offsetBounds.height()), |
- kNeedNewImageUniqueID_SpecialImage, |
- renderTargetContext->asTexture(), |
- sk_ref_sp(renderTargetContext->getColorSpace())); |
+ return SkSpecialImage::MakeDeferredFromGpu(SkIRect::MakeWH(offsetBounds.width(), |
+ offsetBounds.height()), |
+ kNeedNewImageUniqueID_SpecialImage, |
+ renderTargetContext->asDeferredTexture(), |
+ sk_ref_sp(renderTargetContext->getColorSpace())); |
} |
#endif |