| Index: src/image/SkSurface_Gpu.cpp
|
| diff --git a/src/image/SkSurface_Gpu.cpp b/src/image/SkSurface_Gpu.cpp
|
| index a023acd9a2c14399e65b3201949552fa8017c9b0..eb08ad84df46604b1cb1b98b8f07153219d5d284 100644
|
| --- a/src/image/SkSurface_Gpu.cpp
|
| +++ b/src/image/SkSurface_Gpu.cpp
|
| @@ -85,7 +85,7 @@ sk_sp<SkImage> SkSurface_Gpu::onNewImageSnapshot(SkBudgeted budgeted, ForceCopyM
|
| // If the original render target is a buffer originally created by the client, then we don't
|
| // want to ever retarget the SkSurface at another buffer we create. Force a copy now to avoid
|
| // copy-on-write.
|
| - if (kYes_ForceCopyMode == forceCopyMode || !tex || rt->resourcePriv().isExternal()) {
|
| + if (kYes_ForceCopyMode == forceCopyMode || !tex || rt->resourcePriv().refsWrappedObjects()) {
|
| GrSurfaceDesc desc = fDevice->accessRenderTarget()->desc();
|
| GrContext* ctx = fDevice->context();
|
| desc.fFlags = desc.fFlags & ~kRenderTarget_GrSurfaceFlag;
|
|
|