Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Unified Diff: src/gpu/GrResourceCache.cpp

Issue 703303003: Add GrGpuResource::CacheAccess (Closed) Base URL: https://skia.googlesource.com/skia.git@nohash
Patch Set: fix warning Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/GrGpuResourceCacheAccess.h ('k') | src/gpu/GrResourceCache2.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/GrResourceCache.cpp
diff --git a/src/gpu/GrResourceCache.cpp b/src/gpu/GrResourceCache.cpp
index 20b82eceae5e707e84163740394985b5ec0d6f8e..7083cf374b5c99ae2a7785a42dff38096bd66c83 100644
--- a/src/gpu/GrResourceCache.cpp
+++ b/src/gpu/GrResourceCache.cpp
@@ -8,6 +8,7 @@
#include "GrResourceCache.h"
#include "GrGpuResource.h"
+#include "GrGpuResourceCacheAccess.h"
#include "GrTexturePriv.h"
DECLARE_SKMESSAGEBUS_MESSAGE(GrResourceInvalidatedMessage);
@@ -15,7 +16,7 @@ DECLARE_SKMESSAGEBUS_MESSAGE(GrResourceInvalidatedMessage);
///////////////////////////////////////////////////////////////////////////////
void GrGpuResource::didChangeGpuMemorySize() const {
- if (this->isInCache()) {
+ if (this->cacheAccess().isInCache()) {
fCacheEntry->didChangeResourceSize();
}
}
@@ -54,7 +55,7 @@ GrResourceCacheEntry::~GrResourceCacheEntry() {
void GrResourceCacheEntry::validate() const {
SkASSERT(fResourceCache);
SkASSERT(fResource);
- SkASSERT(fResource->getCacheEntry() == this);
+ SkASSERT(fResource->cacheAccess().getCacheEntry() == this);
SkASSERT(fResource->gpuMemorySize() == fCachedSize);
fResource->validate();
}
@@ -150,7 +151,7 @@ void GrResourceCache::attachToHead(GrResourceCacheEntry* entry) {
void GrResourceCache::makeResourceMRU(GrGpuResource* resource) {
- GrResourceCacheEntry* entry = resource->getCacheEntry();
+ GrResourceCacheEntry* entry = resource->cacheAccess().getCacheEntry();
if (entry) {
this->internalDetach(entry);
this->attachToHead(entry);
@@ -160,26 +161,27 @@ void GrResourceCache::makeResourceMRU(GrGpuResource* resource) {
void GrResourceCache::notifyPurgable(const GrGpuResource* resource) {
// Remove scratch textures from the cache the moment they become purgeable if
// scratch texture reuse is turned off.
- SkASSERT(resource->getCacheEntry());
- if (resource->isScratch()) {
- const GrResourceKey& key = resource->getScratchKey();
+ SkASSERT(resource->cacheAccess().getCacheEntry());
+ if (resource->cacheAccess().isScratch()) {
+ const GrResourceKey& key = resource->cacheAccess().getScratchKey();
if (key.getResourceType() == GrTexturePriv::ResourceType() &&
!fCaps->reuseScratchTextures() &&
!(static_cast<const GrSurface*>(resource)->desc().fFlags & kRenderTarget_GrSurfaceFlag)) {
- this->deleteResource(resource->getCacheEntry());
+ this->deleteResource(resource->cacheAccess().getCacheEntry());
}
}
}
bool GrResourceCache::addResource(const GrResourceKey& key, GrGpuResource* resource) {
- if (NULL != resource->getCacheEntry()) {
+ if (NULL != resource->cacheAccess().getCacheEntry()) {
return false;
}
if (key.isScratch()) {
- SkASSERT(resource->isScratch() && key == resource->getScratchKey());
+ SkASSERT(resource->cacheAccess().isScratch());
+ SkASSERT(key == resource->cacheAccess().getScratchKey());
} else {
- if (!resource->setContentKey(key)) {
+ if (!resource->cacheAccess().setContentKey(key)) {
return false;
}
}
@@ -192,7 +194,7 @@ bool GrResourceCache::addResource(const GrResourceKey& key, GrGpuResource* resou
GrAutoResourceCacheValidate atcv(this);
GrResourceCacheEntry* entry = SkNEW_ARGS(GrResourceCacheEntry, (this, resource));
- resource->setCacheEntry(entry);
+ resource->cacheAccess().setCacheEntry(entry);
this->attachToHead(entry);
this->purgeAsNeeded();
@@ -370,7 +372,7 @@ void GrResourceCache::printStats() {
if (!entry->fResource->isPurgable()) {
++locked;
}
- if (entry->fResource->isScratch()) {
+ if (entry->fResource->cacheAccess().isScratch()) {
++scratch;
}
}
« no previous file with comments | « src/gpu/GrGpuResourceCacheAccess.h ('k') | src/gpu/GrResourceCache2.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698