| Index: src/gpu/GrResourceCache.h
|
| diff --git a/src/gpu/GrResourceCache.h b/src/gpu/GrResourceCache.h
|
| index a908140aaf19b8723113f4e7e7a9cbe1852d48fe..3e5df38d7729fabd3edb920be4ef22555366ea13 100644
|
| --- a/src/gpu/GrResourceCache.h
|
| +++ b/src/gpu/GrResourceCache.h
|
| @@ -32,9 +32,9 @@ class SkString;
|
| * between two temporary surfaces). The scratch key is set at resource creation time and
|
| * should never change. Resources need not have a scratch key.
|
| * 2) A unique key. This key's meaning is specific to the domain that created the key. Only one
|
| - * resource may have a given unique key. The unique key can be set after resource creation
|
| - * creation. Currently it may only be set once and cannot be cleared. This restriction will
|
| - * be removed.
|
| + * resource may have a given unique key. The unique key can be set, cleared, or changed
|
| + * anytime after resource creation.
|
| + *
|
| * A unique key always takes precedence over a scratch key when a resource has both types of keys.
|
| * If a resource has neither key type then it will be deleted as soon as the last reference to it
|
| * is dropped.
|
| @@ -179,9 +179,9 @@ private:
|
| void removeResource(GrGpuResource*);
|
| void notifyPurgeable(GrGpuResource*);
|
| void didChangeGpuMemorySize(const GrGpuResource*, size_t oldSize);
|
| - bool didSetUniqueKey(GrGpuResource*);
|
| + void changeUniqueKey(GrGpuResource*, const GrUniqueKey&);
|
| + void removeUniqueKey(GrGpuResource*);
|
| void willRemoveScratchKey(const GrGpuResource*);
|
| - void willRemoveUniqueKey(const GrGpuResource*);
|
| void didChangeBudgetStatus(GrGpuResource*);
|
| void refAndMakeResourceMRU(GrGpuResource*);
|
| /// @}
|
| @@ -297,20 +297,16 @@ private:
|
| }
|
|
|
| /**
|
| - * Called by GrGpuResources when their unique keys change.
|
| - *
|
| - * This currently returns a bool and fails when an existing resource has a key that collides
|
| - * with the new key. In the future it will null out the unique key for the existing resource.
|
| - * The failure is a temporary measure which will be fixed soon.
|
| + * Called by GrGpuResources to change their unique keys.
|
| */
|
| - bool didSetUniqueKey(GrGpuResource* resource) { return fCache->didSetUniqueKey(resource); }
|
| + void changeUniqueKey(GrGpuResource* resource, const GrUniqueKey& newKey) {
|
| + fCache->changeUniqueKey(resource, newKey);
|
| + }
|
|
|
| /**
|
| - * Called by a GrGpuResource when it removes its unique key.
|
| + * Called by a GrGpuResource to remove its unique key.
|
| */
|
| - void willRemoveUniqueKey(GrGpuResource* resource) {
|
| - return fCache->willRemoveUniqueKey(resource);
|
| - }
|
| + void removeUniqueKey(GrGpuResource* resource) { fCache->removeUniqueKey(resource); }
|
|
|
| /**
|
| * Called by a GrGpuResource when it removes its scratch key.
|
|
|