| Index: src/gpu/effects/GrConfigConversionEffect.cpp
 | 
| diff --git a/src/gpu/effects/GrConfigConversionEffect.cpp b/src/gpu/effects/GrConfigConversionEffect.cpp
 | 
| index db7001758697097d7984de4d0f630ece6be6e47b..2968ae5dd88c687f05fdd07312d51c2fb177f969 100644
 | 
| --- a/src/gpu/effects/GrConfigConversionEffect.cpp
 | 
| +++ b/src/gpu/effects/GrConfigConversionEffect.cpp
 | 
| @@ -10,6 +10,7 @@
 | 
|  #include "GrRenderTargetContext.h"
 | 
|  #include "GrInvariantOutput.h"
 | 
|  #include "GrSimpleTextureEffect.h"
 | 
| +#include "GrTextureProxy.h"
 | 
|  #include "SkMatrix.h"
 | 
|  #include "glsl/GrGLSLFragmentProcessor.h"
 | 
|  #include "glsl/GrGLSLFragmentShaderBuilder.h"
 | 
| @@ -226,16 +227,16 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context
 | 
|          sk_sp<GrFragmentProcessor> pmToUPM1(new GrConfigConversionEffect(
 | 
|                  dataTex.get(), GrSwizzle::RGBA(), *pmToUPMRule, SkMatrix::I()));
 | 
|          sk_sp<GrFragmentProcessor> upmToPM(new GrConfigConversionEffect(
 | 
| -                readRTC->asTexture().get(), GrSwizzle::RGBA(), *upmToPMRule, SkMatrix::I()));
 | 
| +                readRTC->asDeferredTexture(), GrSwizzle::RGBA(), *upmToPMRule, SkMatrix::I()));
 | 
|          sk_sp<GrFragmentProcessor> pmToUPM2(new GrConfigConversionEffect(
 | 
| -                tempRTC->asTexture().get(), GrSwizzle::RGBA(), *pmToUPMRule, SkMatrix::I()));
 | 
| +                tempRTC->asDeferredTexture(), GrSwizzle::RGBA(), *pmToUPMRule, SkMatrix::I()));
 | 
|  
 | 
|          paint1.addColorFragmentProcessor(std::move(pmToUPM1));
 | 
|          paint1.setPorterDuffXPFactory(SkBlendMode::kSrc);
 | 
|  
 | 
|          readRTC->fillRectToRect(GrNoClip(), paint1, SkMatrix::I(), kDstRect, kSrcRect);
 | 
|  
 | 
| -        readRTC->asTexture()->readPixels(0, 0, kSize, kSize, kConfig, firstRead);
 | 
| +        readRTC->asDeferredTexture()->readPixels(0, 0, kSize, kSize, kConfig, firstRead);
 | 
|  
 | 
|          paint2.addColorFragmentProcessor(std::move(upmToPM));
 | 
|          paint2.setPorterDuffXPFactory(SkBlendMode::kSrc);
 | 
| @@ -247,7 +248,7 @@ void GrConfigConversionEffect::TestForPreservingPMConversions(GrContext* context
 | 
|  
 | 
|          readRTC->fillRectToRect(GrNoClip(), paint3, SkMatrix::I(), kDstRect, kSrcRect);
 | 
|  
 | 
| -        readRTC->asTexture()->readPixels(0, 0, kSize, kSize, kConfig, secondRead);
 | 
| +        readRTC->asDeferredTexture()->readPixels(0, 0, kSize, kSize, kConfig, secondRead);
 | 
|  
 | 
|          failed = false;
 | 
|          for (int y = 0; y < kSize && !failed; ++y) {
 | 
| 
 |