| Index: src/gpu/GrContext.cpp
|
| diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
|
| index 64f4cb3deca237649047db0ababf9954813ca01e..3c25f3d1a9a986ff2e135767f31e2b74d0b102e3 100755
|
| --- a/src/gpu/GrContext.cpp
|
| +++ b/src/gpu/GrContext.cpp
|
| @@ -324,7 +324,9 @@ bool GrContext::writeSurfacePixels(GrSurface* surface,
|
| {
|
| GrTexture* texture = NULL;
|
| if (!(kUnpremul_PixelOpsFlag & pixelOpsFlags) && (texture = surface->asTexture()) &&
|
| - fGpu->canWriteTexturePixels(texture, srcConfig)) {
|
| + fGpu->canWriteTexturePixels(texture, srcConfig) &&
|
| + (!fCaps->useDrawInsteadOfPartialRenderTargetWrite() || !surface->asRenderTarget() ||
|
| + (width == texture->width() && height == texture->height()))) {
|
|
|
| if (!(kDontFlush_PixelOpsFlag & pixelOpsFlags) &&
|
| surface->surfacePriv().hasPendingIO()) {
|
|
|