| Index: src/gpu/GrGpu.cpp
|
| diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp
|
| index ab8e5cb5359a4e025f748a89a0db69fc365c6313..39d190e05252ad8564768189348f7389c7c26078 100644
|
| --- a/src/gpu/GrGpu.cpp
|
| +++ b/src/gpu/GrGpu.cpp
|
| @@ -280,10 +280,13 @@ bool GrGpu::getWritePixelsInfo(GrSurface* dstSurface, int width, int height, siz
|
| return false;
|
| }
|
|
|
| - if (this->caps()->useDrawInsteadOfPartialRenderTargetWrite() &&
|
| - SkToBool(dstSurface->asRenderTarget()) &&
|
| - (width < dstSurface->width() || height < dstSurface->height())) {
|
| - ElevateDrawPreference(drawPreference, kRequireDraw_DrawPreference);
|
| + if (SkToBool(dstSurface->asRenderTarget())) {
|
| + if (this->caps()->useDrawInsteadOfAllRenderTargetWrites()) {
|
| + ElevateDrawPreference(drawPreference, kRequireDraw_DrawPreference);
|
| + } else if (this->caps()->useDrawInsteadOfPartialRenderTargetWrite() &&
|
| + (width < dstSurface->width() || height < dstSurface->height())) {
|
| + ElevateDrawPreference(drawPreference, kRequireDraw_DrawPreference);
|
| + }
|
| }
|
|
|
| if (!this->onGetWritePixelsInfo(dstSurface, width, height, rowBytes, srcConfig, drawPreference,
|
|
|