| Index: src/gpu/gl/GrGLGpu.cpp
 | 
| diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
 | 
| index 86c4cc3bbc0e3314cf006d6114cbcc3fd9d8482d..f9cba433c742e29b03951d773a009d2dda0e5a06 100644
 | 
| --- a/src/gpu/gl/GrGLGpu.cpp
 | 
| +++ b/src/gpu/gl/GrGLGpu.cpp
 | 
| @@ -2603,6 +2603,12 @@ bool GrGLGpu::onGetReadPixelsInfo(GrSurface* srcSurface, int width, int height,
 | 
|                  SkASSERT(tempDrawInfo->fTempSurfaceDesc.fConfig == srcConfig);
 | 
|                  SkASSERT(tempDrawInfo->fReadConfig == kAlpha_8_GrPixelConfig);
 | 
|              }
 | 
| +        } else if (this->caps()->isConfigRenderable(readConfig, false) &&
 | 
| +                   this->readPixelsSupported(readConfig, readConfig)) {
 | 
| +            // Do a draw to convert from the src config to the read config.
 | 
| +            ElevateDrawPreference(drawPreference, kRequireDraw_DrawPreference);
 | 
| +            tempDrawInfo->fTempSurfaceDesc.fConfig = readConfig;
 | 
| +            tempDrawInfo->fReadConfig = readConfig;
 | 
|          } else {
 | 
|              return false;
 | 
|          }
 | 
| 
 |