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; |