| Index: src/gpu/GrResourceCache.h
|
| diff --git a/src/gpu/GrResourceCache.h b/src/gpu/GrResourceCache.h
|
| index 83337805a42f1c3a021f9ff61f4276b3cfe32316..880a0a98b5b5fc9811d480e1d08b7e74a9a7c12a 100644
|
| --- a/src/gpu/GrResourceCache.h
|
| +++ b/src/gpu/GrResourceCache.h
|
| @@ -141,26 +141,13 @@ public:
|
| */
|
| int getCachedResourceCount() const { return fEntryCount; }
|
|
|
| - // For a found or added resource to be completely exclusive to the caller
|
| - // both the kNoOtherOwners and kHide flags need to be specified
|
| - enum OwnershipFlags {
|
| - kNoOtherOwners_OwnershipFlag = 0x1, // found/added resource has no other owners
|
| - kHide_OwnershipFlag = 0x2 // found/added resource is hidden from future 'find's
|
| - };
|
| -
|
| /**
|
| * Search for an entry with the same Key. If found, return it.
|
| * If not found, return null.
|
| - * If ownershipFlags includes kNoOtherOwners and a resource is returned
|
| - * then that resource has no other refs to it.
|
| - * If ownershipFlags includes kHide and a resource is returned then that
|
| - * resource will not be returned from future 'find' calls until it is
|
| - * 'freed' (and recycled) or makeNonExclusive is called.
|
| - * For a resource to be completely exclusive to a caller both kNoOtherOwners
|
| - * and kHide must be specified.
|
| */
|
| - GrGpuResource* find(const GrResourceKey& key,
|
| - uint32_t ownershipFlags = 0);
|
| + GrGpuResource* find(const GrResourceKey& key);
|
| +
|
| + void makeResourceMRU(GrGpuResource*);
|
|
|
| /**
|
| * Add the new resource to the cache (by creating a new cache entry based
|
| @@ -168,14 +155,8 @@ public:
|
| *
|
| * Ownership of the resource is transferred to the resource cache,
|
| * which will unref() it when it is purged or deleted.
|
| - *
|
| - * If ownershipFlags includes kHide, subsequent calls to 'find' will not
|
| - * return 'resource' until it is 'freed' (and recycled) or makeNonExclusive
|
| - * is called.
|
| */
|
| - void addResource(const GrResourceKey& key,
|
| - GrGpuResource* resource,
|
| - uint32_t ownershipFlags = 0);
|
| + void addResource(const GrResourceKey& key, GrGpuResource* resource);
|
|
|
| /**
|
| * Determines if the cache contains an entry matching a key. If a matching
|
| @@ -184,20 +165,6 @@ public:
|
| bool hasKey(const GrResourceKey& key) const { return SkToBool(fCache.find(key)); }
|
|
|
| /**
|
| - * Hide 'entry' so that future searches will not find it. Such
|
| - * hidden entries will not be purged. The entry still counts against
|
| - * the cache's budget and should be made non-exclusive when exclusive access
|
| - * is no longer needed.
|
| - */
|
| - void makeExclusive(GrResourceCacheEntry* entry);
|
| -
|
| - /**
|
| - * Restore 'entry' so that it can be found by future searches. 'entry'
|
| - * will also be purgeable (provided its lock count is now 0.)
|
| - */
|
| - void makeNonExclusive(GrResourceCacheEntry* entry);
|
| -
|
| - /**
|
| * Notify the cache that the size of a resource has changed.
|
| */
|
| void didIncreaseResourceSize(const GrResourceCacheEntry*, size_t amountInc);
|
| @@ -237,15 +204,8 @@ public:
|
| #endif
|
|
|
| private:
|
| - enum BudgetBehaviors {
|
| - kAccountFor_BudgetBehavior,
|
| - kIgnore_BudgetBehavior
|
| - };
|
| -
|
| - void internalDetach(GrResourceCacheEntry*, BudgetBehaviors behavior = kAccountFor_BudgetBehavior);
|
| - void attachToHead(GrResourceCacheEntry*, BudgetBehaviors behavior = kAccountFor_BudgetBehavior);
|
| -
|
| - void removeInvalidResource(GrResourceCacheEntry* entry);
|
| + void internalDetach(GrResourceCacheEntry*);
|
| + void attachToHead(GrResourceCacheEntry*);
|
|
|
| SkTMultiMap<GrResourceCacheEntry, GrResourceKey> fCache;
|
|
|
| @@ -253,11 +213,6 @@ private:
|
| typedef SkTInternalLList<GrResourceCacheEntry> EntryList;
|
| EntryList fList;
|
|
|
| -#ifdef SK_DEBUG
|
| - // These objects cannot be returned by a search
|
| - EntryList fExclusiveList;
|
| -#endif
|
| -
|
| // our budget, used in purgeAsNeeded()
|
| int fMaxCount;
|
| size_t fMaxBytes;
|
| @@ -266,14 +221,10 @@ private:
|
| #if GR_CACHE_STATS
|
| int fHighWaterEntryCount;
|
| size_t fHighWaterEntryBytes;
|
| - int fHighWaterClientDetachedCount;
|
| - size_t fHighWaterClientDetachedBytes;
|
| #endif
|
|
|
| int fEntryCount;
|
| size_t fEntryBytes;
|
| - int fClientDetachedCount;
|
| - size_t fClientDetachedBytes;
|
|
|
| // prevents recursive purging
|
| bool fPurging;
|
|
|