diff options
-rw-r--r-- | src/gpu/SkGr.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index 195d036374..4701483af5 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -178,11 +178,9 @@ static void create_unique_key_for_image(const SkImage* image, GrUniqueKey* resul } if (const SkBitmap* bm = as_IB(image)->onPeekBitmap()) { - if (!bm->isVolatile()) { - SkIPoint origin = bm->pixelRefOrigin(); - SkIRect subset = SkIRect::MakeXYWH(origin.fX, origin.fY, bm->width(), bm->height()); - GrMakeKeyFromImageID(result, bm->getGenerationID(), subset); - } + SkIPoint origin = bm->pixelRefOrigin(); + SkIRect subset = SkIRect::MakeXYWH(origin.fX, origin.fY, bm->width(), bm->height()); + GrMakeKeyFromImageID(result, bm->getGenerationID(), subset); return; } @@ -201,13 +199,10 @@ sk_sp<GrTextureProxy> GrMakeCachedImageProxy(GrProxyProvider* proxyProvider, proxy = proxyProvider->findOrCreateProxyByUniqueKey(originalKey, kTopLeft_GrSurfaceOrigin); } if (!proxy) { - proxy = proxyProvider->createTextureProxy(srcImage, kNone_GrSurfaceFlags, 1, + proxy = proxyProvider->createTextureProxy(std::move(srcImage), kNone_GrSurfaceFlags, 1, SkBudgeted::kYes, fit); if (proxy && originalKey.isValid()) { proxyProvider->assignUniqueKeyToProxy(originalKey, proxy.get()); - if (const SkBitmap* bm = as_IB(srcImage.get())->onPeekBitmap()) { - GrInstallBitmapUniqueKeyInvalidator(originalKey, bm->pixelRef()); - } } } |