diff options
author | 2017-05-08 11:16:39 -0400 | |
---|---|---|
committer | 2017-05-08 15:48:44 +0000 | |
commit | 0562eb9c6c98f07732ca96a1dd4e986f1ca089b8 (patch) | |
tree | b2df127ae523cc032e8e89d45c62258747c8d43d /src/gpu/GrResourceCache.cpp | |
parent | af6522adc17b06d82ec60afbfd41e9e4c48bfc9e (diff) |
Allow wrapped resources to have unique keys
Previously, wrapped resources were never budgeted. Now we explicitly allow
wrapped, unbudgeted resources with unique keys. This allows code that
wraps (and re-wraps) external resources with a deterministic key to find
the same wrapped resource - saving time and ensuring a single wrapped
copy, to preserve state on the resource (like texture sampler state).
Bug: skia:
Change-Id: I1dd7642f1ed8bb6c620029d46203cf5cb6b3c160
Reviewed-on: https://skia-review.googlesource.com/15241
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrResourceCache.cpp')
-rw-r--r-- | src/gpu/GrResourceCache.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gpu/GrResourceCache.cpp b/src/gpu/GrResourceCache.cpp index 596af6d623..e3373b27f9 100644 --- a/src/gpu/GrResourceCache.cpp +++ b/src/gpu/GrResourceCache.cpp @@ -697,8 +697,8 @@ void GrResourceCache::validate() const { if (uniqueKey.isValid()) { ++fContent; SkASSERT(fUniqueHash->find(uniqueKey) == resource); - SkASSERT(!resource->resourcePriv().refsWrappedObjects()); - SkASSERT(SkBudgeted::kYes == resource->resourcePriv().isBudgeted()); + SkASSERT(SkBudgeted::kYes == resource->resourcePriv().isBudgeted() || + resource->resourcePriv().refsWrappedObjects()); if (scratchKey.isValid()) { SkASSERT(!fScratchMap->has(resource, scratchKey)); |