aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/gpu/SkGr.cpp13
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());
- }
}
}