Index: src/gpu/GrContext.cpp |
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp |
index 85cc8cd78750ebfdb150e0f8013df07139588c08..3c887cb42bb18c9e4eb87d4a9cd269f230ca8f48 100755 |
--- a/src/gpu/GrContext.cpp |
+++ b/src/gpu/GrContext.cpp |
@@ -528,17 +528,11 @@ void GrContext::addExistingTextureToCache(GrTexture* texture) { |
// still be in the exclusive pile. Recycle it. |
fResourceCache->makeNonExclusive(texture->getCacheEntry()); |
this->purgeCache(); |
- } else if (texture->getDeferredRefCount() <= 0) { |
bsalomon
2014/07/21 20:14:46
I think this is safe because incDeferredRefCount()
|
+ } else { |
// When we aren't reusing textures we know this scratch texture |
// will never be reused and would be just wasting time in the cache |
fResourceCache->makeNonExclusive(texture->getCacheEntry()); |
fResourceCache->deleteResource(texture->getCacheEntry()); |
- } else { |
- // In this case (fDeferredRefCount > 0) but the cache is the only |
- // one holding a real ref. Mark the object so when the deferred |
- // ref count goes to 0 the texture will be deleted (remember |
- // in this code path scratch textures aren't getting reused). |
- texture->setNeedsDeferredUnref(); |
} |
} |
@@ -554,12 +548,6 @@ void GrContext::unlockScratchTexture(GrTexture* texture) { |
if (fGpu->caps()->reuseScratchTextures() || NULL != texture->asRenderTarget()) { |
fResourceCache->makeNonExclusive(texture->getCacheEntry()); |
this->purgeCache(); |
- } else if (texture->unique() && texture->getDeferredRefCount() <= 0) { |
bsalomon
2014/07/21 20:14:46
I'm not sure I did the right thing here. Maybe I s
robertphillips
2014/07/21 20:53:05
I think we want to remove the check of deferred re
|
- // Only the cache now knows about this texture. Since we're never |
- // reusing scratch textures (in this code path) it would just be |
- // wasting time sitting in the cache. |
- fResourceCache->makeNonExclusive(texture->getCacheEntry()); |
- fResourceCache->deleteResource(texture->getCacheEntry()); |
} else { |
// In this case (fRefCnt > 1 || defRefCnt > 0) but we don't really |
// want to readd it to the cache (since it will never be reused). |