Index: cc/prioritized_resource_manager.cc |
diff --git a/cc/prioritized_texture_manager.cc b/cc/prioritized_resource_manager.cc |
similarity index 82% |
rename from cc/prioritized_texture_manager.cc |
rename to cc/prioritized_resource_manager.cc |
index 3c669033455380d77f10b1591c6304293c1a50a7..8748d0f7437d1f89617602a057f4fbc256b5a378 100644 |
--- a/cc/prioritized_texture_manager.cc |
+++ b/cc/prioritized_resource_manager.cc |
@@ -4,11 +4,11 @@ |
#include "config.h" |
-#include "cc/prioritized_texture_manager.h" |
+#include "cc/prioritized_resource_manager.h" |
#include "base/debug/trace_event.h" |
#include "base/stl_util.h" |
-#include "cc/prioritized_texture.h" |
+#include "cc/prioritized_resource.h" |
#include "cc/priority_calculator.h" |
#include "cc/proxy.h" |
#include <algorithm> |
@@ -17,7 +17,7 @@ using namespace std; |
namespace cc { |
-PrioritizedTextureManager::PrioritizedTextureManager(size_t maxMemoryLimitBytes, int, int pool) |
+PrioritizedResourceManager::PrioritizedResourceManager(size_t maxMemoryLimitBytes, int, int pool) |
: m_maxMemoryLimitBytes(maxMemoryLimitBytes) |
, m_externalPriorityCutoff(PriorityCalculator::allowEverythingCutoff()) |
, m_memoryUseBytes(0) |
@@ -32,7 +32,7 @@ PrioritizedTextureManager::PrioritizedTextureManager(size_t maxMemoryLimitBytes, |
{ |
} |
-PrioritizedTextureManager::~PrioritizedTextureManager() |
+PrioritizedResourceManager::~PrioritizedResourceManager() |
{ |
while (m_textures.size() > 0) |
unregisterTexture(*m_textures.begin()); |
@@ -44,21 +44,21 @@ PrioritizedTextureManager::~PrioritizedTextureManager() |
DCHECK(m_backings.empty()); |
} |
-size_t PrioritizedTextureManager::memoryVisibleBytes() const |
+size_t PrioritizedResourceManager::memoryVisibleBytes() const |
{ |
DCHECK(Proxy::isImplThread()); |
return m_memoryVisibleLastPushedBytes; |
} |
-size_t PrioritizedTextureManager::memoryVisibleAndNearbyBytes() const |
+size_t PrioritizedResourceManager::memoryVisibleAndNearbyBytes() const |
{ |
DCHECK(Proxy::isImplThread()); |
return m_memoryVisibleAndNearbyLastPushedBytes; |
} |
-void PrioritizedTextureManager::prioritizeTextures() |
+void PrioritizedResourceManager::prioritizeTextures() |
{ |
- TRACE_EVENT0("cc", "PrioritizedTextureManager::prioritizeTextures"); |
+ TRACE_EVENT0("cc", "PrioritizedResourceManager::prioritizeTextures"); |
DCHECK(Proxy::isMainThread()); |
// Sorting textures in this function could be replaced by a slightly |
@@ -72,12 +72,12 @@ void PrioritizedTextureManager::prioritizeTextures() |
m_memoryVisibleBytes = 0; |
m_memoryVisibleAndNearbyBytes = 0; |
for (TextureSet::iterator it = m_textures.begin(); it != m_textures.end(); ++it) { |
- PrioritizedTexture* texture = (*it); |
+ PrioritizedResource* texture = (*it); |
sortedTextures.push_back(texture); |
if (PriorityCalculator::priorityIsHigher(texture->requestPriority(), PriorityCalculator::allowVisibleOnlyCutoff())) |
m_memoryVisibleBytes += texture->bytes(); |
if (PriorityCalculator::priorityIsHigher(texture->requestPriority(), PriorityCalculator::allowVisibleAndNearbyCutoff())) |
- m_memoryVisibleAndNearbyBytes += texture->bytes(); |
+ m_memoryVisibleAndNearbyBytes += texture->bytes(); |
} |
std::sort(sortedTextures.begin(), sortedTextures.end(), compareTextures); |
@@ -109,7 +109,7 @@ void PrioritizedTextureManager::prioritizeTextures() |
// Disallow any textures with priority below the external cutoff to have backings. |
size_t memoryLinkedTexturesBytes = 0; |
for (TextureVector::iterator it = sortedTextures.begin(); it != sortedTextures.end(); ++it) { |
- PrioritizedTexture* texture = (*it); |
+ PrioritizedResource* texture = (*it); |
if (!PriorityCalculator::priorityIsHigher(texture->requestPriority(), m_externalPriorityCutoff) && |
texture->haveBackingTexture()) |
texture->unlink(); |
@@ -132,9 +132,9 @@ void PrioritizedTextureManager::prioritizeTextures() |
DCHECK(memoryAboveCutoffBytes() <= maxMemoryLimitBytes()); |
} |
-void PrioritizedTextureManager::pushTexturePrioritiesToBackings() |
+void PrioritizedResourceManager::pushTexturePrioritiesToBackings() |
{ |
- TRACE_EVENT0("cc", "PrioritizedTextureManager::pushTexturePrioritiesToBackings"); |
+ TRACE_EVENT0("cc", "PrioritizedResourceManager::pushTexturePrioritiesToBackings"); |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
assertInvariants(); |
@@ -148,23 +148,23 @@ void PrioritizedTextureManager::pushTexturePrioritiesToBackings() |
m_memoryVisibleAndNearbyLastPushedBytes = m_memoryVisibleAndNearbyBytes; |
} |
-void PrioritizedTextureManager::updateBackingsInDrawingImplTree() |
+void PrioritizedResourceManager::updateBackingsInDrawingImplTree() |
{ |
- TRACE_EVENT0("cc", "PrioritizedTextureManager::updateBackingsInDrawingImplTree"); |
+ TRACE_EVENT0("cc", "PrioritizedResourceManager::updateBackingsInDrawingImplTree"); |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
assertInvariants(); |
for (BackingList::iterator it = m_backings.begin(); it != m_backings.end(); ++it) { |
- PrioritizedTexture::Backing* backing = (*it); |
+ PrioritizedResource::Backing* backing = (*it); |
backing->updateInDrawingImplTree(); |
} |
sortBackings(); |
assertInvariants(); |
} |
-void PrioritizedTextureManager::sortBackings() |
+void PrioritizedResourceManager::sortBackings() |
{ |
- TRACE_EVENT0("cc", "PrioritizedTextureManager::sortBackings"); |
+ TRACE_EVENT0("cc", "PrioritizedResourceManager::sortBackings"); |
DCHECK(Proxy::isImplThread()); |
// Put backings in eviction/recycling order. |
@@ -172,7 +172,7 @@ void PrioritizedTextureManager::sortBackings() |
m_backingsTailNotSorted = false; |
} |
-void PrioritizedTextureManager::clearPriorities() |
+void PrioritizedResourceManager::clearPriorities() |
{ |
DCHECK(Proxy::isMainThread()); |
for (TextureSet::iterator it = m_textures.begin(); it != m_textures.end(); ++it) { |
@@ -184,7 +184,7 @@ void PrioritizedTextureManager::clearPriorities() |
} |
} |
-bool PrioritizedTextureManager::requestLate(PrioritizedTexture* texture) |
+bool PrioritizedResourceManager::requestLate(PrioritizedResource* texture) |
{ |
DCHECK(Proxy::isMainThread()); |
@@ -209,7 +209,7 @@ bool PrioritizedTextureManager::requestLate(PrioritizedTexture* texture) |
return true; |
} |
-void PrioritizedTextureManager::acquireBackingTextureIfNeeded(PrioritizedTexture* texture, ResourceProvider* resourceProvider) |
+void PrioritizedResourceManager::acquireBackingTextureIfNeeded(PrioritizedResource* texture, ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
DCHECK(!texture->isSelfManaged()); |
@@ -218,7 +218,7 @@ void PrioritizedTextureManager::acquireBackingTextureIfNeeded(PrioritizedTexture |
return; |
// Find a backing below, by either recycling or allocating. |
- PrioritizedTexture::Backing* backing = 0; |
+ PrioritizedResource::Backing* backing = 0; |
// First try to recycle |
for (BackingList::iterator it = m_backings.begin(); it != m_backings.end(); ++it) { |
@@ -249,7 +249,7 @@ void PrioritizedTextureManager::acquireBackingTextureIfNeeded(PrioritizedTexture |
backing->updatePriority(); |
} |
-bool PrioritizedTextureManager::evictBackingsToReduceMemory(size_t limitBytes, int priorityCutoff, EvictionPolicy evictionPolicy, ResourceProvider* resourceProvider) |
+bool PrioritizedResourceManager::evictBackingsToReduceMemory(size_t limitBytes, int priorityCutoff, EvictionPolicy evictionPolicy, ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread()); |
if (memoryUseBytes() <= limitBytes && PriorityCalculator::allowEverythingCutoff() == priorityCutoff) |
@@ -258,7 +258,7 @@ bool PrioritizedTextureManager::evictBackingsToReduceMemory(size_t limitBytes, i |
// Destroy backings until we are below the limit, |
// or until all backings remaining are above the cutoff. |
while (m_backings.size() > 0) { |
- PrioritizedTexture::Backing* backing = m_backings.front(); |
+ PrioritizedResource::Backing* backing = m_backings.front(); |
if (memoryUseBytes() <= limitBytes && |
PriorityCalculator::priorityIsHigher(backing->requestPriorityAtLastPriorityUpdate(), priorityCutoff)) |
break; |
@@ -269,12 +269,12 @@ bool PrioritizedTextureManager::evictBackingsToReduceMemory(size_t limitBytes, i |
return true; |
} |
-void PrioritizedTextureManager::reduceMemory(ResourceProvider* resourceProvider) |
+void PrioritizedResourceManager::reduceMemory(ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
// Note that it will not always be the case that memoryUseBytes() <= maxMemoryLimitBytes(), |
- // because we are not at liberty to delete textures that are referenced by the impl tree to |
+ // because we are not at liberty to delete textures that are referenced by the impl tree to |
// get more space. |
evictBackingsToReduceMemory(m_memoryAvailableBytes, PriorityCalculator::allowEverythingCutoff(), EvictOnlyRecyclable, resourceProvider); |
@@ -304,14 +304,14 @@ void PrioritizedTextureManager::reduceMemory(ResourceProvider* resourceProvider) |
deleteUnlinkedEvictedBackings(); |
} |
-void PrioritizedTextureManager::clearAllMemory(ResourceProvider* resourceProvider) |
+void PrioritizedResourceManager::clearAllMemory(ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
DCHECK(resourceProvider); |
evictBackingsToReduceMemory(0, PriorityCalculator::allowEverythingCutoff(), EvictAnything, resourceProvider); |
} |
-bool PrioritizedTextureManager::reduceMemoryOnImplThread(size_t limitBytes, int priorityCutoff, ResourceProvider* resourceProvider) |
+bool PrioritizedResourceManager::reduceMemoryOnImplThread(size_t limitBytes, int priorityCutoff, ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread()); |
DCHECK(resourceProvider); |
@@ -322,29 +322,29 @@ bool PrioritizedTextureManager::reduceMemoryOnImplThread(size_t limitBytes, int |
return evictBackingsToReduceMemory(limitBytes, priorityCutoff, EvictAnything, resourceProvider); |
} |
-void PrioritizedTextureManager::getEvictedBackings(BackingList& evictedBackings) |
+void PrioritizedResourceManager::getEvictedBackings(BackingList& evictedBackings) |
{ |
DCHECK(Proxy::isImplThread()); |
evictedBackings.clear(); |
evictedBackings.insert(evictedBackings.begin(), m_evictedBackings.begin(), m_evictedBackings.end()); |
} |
-void PrioritizedTextureManager::unlinkEvictedBackings(const BackingList& evictedBackings) |
+void PrioritizedResourceManager::unlinkEvictedBackings(const BackingList& evictedBackings) |
{ |
DCHECK(Proxy::isMainThread()); |
for (BackingList::const_iterator it = evictedBackings.begin(); it != evictedBackings.end(); ++it) { |
- PrioritizedTexture::Backing* backing = (*it); |
+ PrioritizedResource::Backing* backing = (*it); |
if (backing->owner()) |
backing->owner()->unlink(); |
} |
} |
-void PrioritizedTextureManager::deleteUnlinkedEvictedBackings() |
+void PrioritizedResourceManager::deleteUnlinkedEvictedBackings() |
{ |
DCHECK(Proxy::isMainThread() || (Proxy::isImplThread() && Proxy::isMainThreadBlocked())); |
BackingList newEvictedBackings; |
for (BackingList::const_iterator it = m_evictedBackings.begin(); it != m_evictedBackings.end(); ++it) { |
- PrioritizedTexture::Backing* backing = (*it); |
+ PrioritizedResource::Backing* backing = (*it); |
if (backing->owner()) |
newEvictedBackings.push_back(backing); |
else |
@@ -353,7 +353,7 @@ void PrioritizedTextureManager::deleteUnlinkedEvictedBackings() |
m_evictedBackings.swap(newEvictedBackings); |
} |
-bool PrioritizedTextureManager::linkedEvictedBackingsExist() const |
+bool PrioritizedResourceManager::linkedEvictedBackingsExist() const |
{ |
for (BackingList::const_iterator it = m_evictedBackings.begin(); it != m_evictedBackings.end(); ++it) { |
if ((*it)->owner()) |
@@ -362,11 +362,11 @@ bool PrioritizedTextureManager::linkedEvictedBackingsExist() const |
return false; |
} |
-void PrioritizedTextureManager::registerTexture(PrioritizedTexture* texture) |
+void PrioritizedResourceManager::registerTexture(PrioritizedResource* texture) |
{ |
DCHECK(Proxy::isMainThread()); |
DCHECK(texture); |
- DCHECK(!texture->textureManager()); |
+ DCHECK(!texture->resourceManager()); |
DCHECK(!texture->backing()); |
DCHECK(!ContainsKey(m_textures, texture)); |
@@ -375,7 +375,7 @@ void PrioritizedTextureManager::registerTexture(PrioritizedTexture* texture) |
} |
-void PrioritizedTextureManager::unregisterTexture(PrioritizedTexture* texture) |
+void PrioritizedResourceManager::unregisterTexture(PrioritizedResource* texture) |
{ |
DCHECK(Proxy::isMainThread() || (Proxy::isImplThread() && Proxy::isMainThreadBlocked())); |
DCHECK(texture); |
@@ -387,29 +387,29 @@ void PrioritizedTextureManager::unregisterTexture(PrioritizedTexture* texture) |
texture->setAbovePriorityCutoff(false); |
} |
-void PrioritizedTextureManager::returnBackingTexture(PrioritizedTexture* texture) |
+void PrioritizedResourceManager::returnBackingTexture(PrioritizedResource* texture) |
{ |
DCHECK(Proxy::isMainThread() || (Proxy::isImplThread() && Proxy::isMainThreadBlocked())); |
if (texture->backing()) |
texture->unlink(); |
} |
-PrioritizedTexture::Backing* PrioritizedTextureManager::createBacking(gfx::Size size, GLenum format, ResourceProvider* resourceProvider) |
+PrioritizedResource::Backing* PrioritizedResourceManager::createBacking(gfx::Size size, GLenum format, ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
DCHECK(resourceProvider); |
ResourceProvider::ResourceId resourceId = resourceProvider->createResource(m_pool, size, format, ResourceProvider::TextureUsageAny); |
- PrioritizedTexture::Backing* backing = new PrioritizedTexture::Backing(resourceId, resourceProvider, size, format); |
+ PrioritizedResource::Backing* backing = new PrioritizedResource::Backing(resourceId, resourceProvider, size, format); |
m_memoryUseBytes += backing->bytes(); |
return backing; |
} |
-void PrioritizedTextureManager::evictFirstBackingResource(ResourceProvider* resourceProvider) |
+void PrioritizedResourceManager::evictFirstBackingResource(ResourceProvider* resourceProvider) |
{ |
DCHECK(Proxy::isImplThread()); |
DCHECK(resourceProvider); |
DCHECK(!m_backings.empty()); |
- PrioritizedTexture::Backing* backing = m_backings.front(); |
+ PrioritizedResource::Backing* backing = m_backings.front(); |
// Note that we create a backing and its resource at the same time, but we |
// delete the backing structure and its resource in two steps. This is because |
@@ -421,7 +421,7 @@ void PrioritizedTextureManager::evictFirstBackingResource(ResourceProvider* reso |
m_evictedBackings.push_back(backing); |
} |
-void PrioritizedTextureManager::assertInvariants() |
+void PrioritizedResourceManager::assertInvariants() |
{ |
#ifndef NDEBUG |
DCHECK(Proxy::isImplThread() && Proxy::isMainThreadBlocked()); |
@@ -438,8 +438,8 @@ void PrioritizedTextureManager::assertInvariants() |
} |
} |
for (TextureSet::iterator it = m_textures.begin(); it != m_textures.end(); ++it) { |
- PrioritizedTexture* texture = (*it); |
- PrioritizedTexture::Backing* backing = texture->backing(); |
+ PrioritizedResource* texture = (*it); |
+ PrioritizedResource::Backing* backing = texture->backing(); |
if (backing) { |
if (backing->resourceHasBeenDeleted()) { |
DCHECK(std::find(m_backings.begin(), m_backings.end(), backing) == m_backings.end()); |
@@ -456,9 +456,9 @@ void PrioritizedTextureManager::assertInvariants() |
// backings that can't be evicted in the backing texture list (otherwise |
// reduceMemory will not find all textures available for eviction/recycling). |
bool reachedUnrecyclable = false; |
- PrioritizedTexture::Backing* previous_backing = NULL; |
+ PrioritizedResource::Backing* previous_backing = NULL; |
for (BackingList::iterator it = m_backings.begin(); it != m_backings.end(); ++it) { |
- PrioritizedTexture::Backing* backing = *it; |
+ PrioritizedResource::Backing* backing = *it; |
if (previous_backing && (!m_backingsTailNotSorted || !backing->wasAbovePriorityCutoffAtLastPriorityUpdate())) |
DCHECK(compareBackings(previous_backing, backing)); |
if (!backing->canBeRecycled()) |