diff options
Diffstat (limited to 'src/core/SkBitmapCache.cpp')
-rw-r--r-- | src/core/SkBitmapCache.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/core/SkBitmapCache.cpp b/src/core/SkBitmapCache.cpp index e6a664bf80..0751089083 100644 --- a/src/core/SkBitmapCache.cpp +++ b/src/core/SkBitmapCache.cpp @@ -208,21 +208,21 @@ static unsigned gMipMapKeyNamespaceLabel; struct MipMapKey : public SkResourceCache::Key { public: - MipMapKey(uint32_t genID, SkSourceGammaTreatment treatment, const SkIRect& bounds) - : fGenID(genID), fSrcGammaTreatment(static_cast<uint32_t>(treatment)), fBounds(bounds) + MipMapKey(uint32_t genID, SkDestinationSurfaceColorMode colorMode, const SkIRect& bounds) + : fGenID(genID), fColorMode(static_cast<uint32_t>(colorMode)), fBounds(bounds) { this->init(&gMipMapKeyNamespaceLabel, SkMakeResourceCacheSharedIDForBitmap(genID), - sizeof(fGenID) + sizeof(fSrcGammaTreatment) + sizeof(fBounds)); + sizeof(fGenID) + sizeof(fColorMode) + sizeof(fBounds)); } uint32_t fGenID; - uint32_t fSrcGammaTreatment; + uint32_t fColorMode; SkIRect fBounds; }; struct MipMapRec : public SkResourceCache::Rec { - MipMapRec(const SkBitmap& src, SkSourceGammaTreatment treatment, const SkMipMap* result) - : fKey(src.getGenerationID(), treatment, get_bounds_from_bitmap(src)) + MipMapRec(const SkBitmap& src, SkDestinationSurfaceColorMode colorMode, const SkMipMap* result) + : fKey(src.getGenerationID(), colorMode, get_bounds_from_bitmap(src)) , fMipMap(result) { fMipMap->attachToCacheAndRef(); @@ -260,10 +260,10 @@ private: } const SkMipMap* SkMipMapCache::FindAndRef(const SkBitmapCacheDesc& desc, - SkSourceGammaTreatment treatment, + SkDestinationSurfaceColorMode colorMode, SkResourceCache* localCache) { // Note: we ignore width/height from desc, just need id and bounds - MipMapKey key(desc.fImageID, treatment, desc.fBounds); + MipMapKey key(desc.fImageID, colorMode, desc.fBounds); const SkMipMap* result; if (!CHECK_LOCAL(localCache, find, Find, key, MipMapRec::Finder, &result)) { @@ -277,11 +277,12 @@ static SkResourceCache::DiscardableFactory get_fact(SkResourceCache* localCache) : SkResourceCache::GetDiscardableFactory(); } -const SkMipMap* SkMipMapCache::AddAndRef(const SkBitmap& src, SkSourceGammaTreatment treatment, +const SkMipMap* SkMipMapCache::AddAndRef(const SkBitmap& src, + SkDestinationSurfaceColorMode colorMode, SkResourceCache* localCache) { - SkMipMap* mipmap = SkMipMap::Build(src, treatment, get_fact(localCache)); + SkMipMap* mipmap = SkMipMap::Build(src, colorMode, get_fact(localCache)); if (mipmap) { - MipMapRec* rec = new MipMapRec(src, treatment, mipmap); + MipMapRec* rec = new MipMapRec(src, colorMode, mipmap); CHECK_LOCAL(localCache, add, Add, rec); src.pixelRef()->notifyAddedToCache(); } |