| Index: src/gpu/gl/builders/GrGLProgramBuilder.cpp
 | 
| diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
 | 
| index bb278be3953a5256c10f379785e7ccc4910adae5..088169622ccd3f397c2a185cd593bb75dcebcf7f 100644
 | 
| --- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp
 | 
| +++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
 | 
| @@ -55,6 +55,12 @@
 | 
|      SkAutoTDelete<GrGLProgramBuilder> builder(CreateProgramBuilder(args, gpu));
 | 
|  
 | 
|      GrGLProgramBuilder* pb = builder.get();
 | 
| +
 | 
| +    // emit code to read the dst copy texture, if necessary
 | 
| +    if (GrGLFragmentShaderBuilder::kNoDstRead_DstReadKey != pb->header().fDstReadKey &&
 | 
| +        !gpu->glCaps().fbFetchSupport()) {
 | 
| +        pb->fFS.emitCodeToReadDstTexture();
 | 
| +    }
 | 
|  
 | 
|      // TODO: Once all stages can handle taking a float or vec4 and correctly handling them we can
 | 
|      // seed correctly here
 | 
| 
 |