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

Unified Diff: cc/resource_provider.cc

Issue 11578019: Remove the pools from the ResourceProvider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-resolve against HEAD Created 8 years 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 | « cc/resource_provider.h ('k') | cc/resource_provider_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resource_provider.cc
diff --git a/cc/resource_provider.cc b/cc/resource_provider.cc
index 2cd7b4ce7f65bea623d8d2a067c5ddc2e159cadc..980a6851300fdc42cbe98ac696dca5d2070a2824 100644
--- a/cc/resource_provider.cc
+++ b/cc/resource_provider.cc
@@ -54,7 +54,6 @@ ResourceProvider::Resource::Resource()
, glUploadQueryId(0)
, pixels(0)
, pixelBuffer(0)
- , pool(0)
, lockForReadCount(0)
, lockedForWrite(false)
, external(false)
@@ -68,13 +67,12 @@ ResourceProvider::Resource::Resource()
{
}
-ResourceProvider::Resource::Resource(unsigned textureId, int pool, const gfx::Size& size, GLenum format, GLenum filter)
+ResourceProvider::Resource::Resource(unsigned textureId, const gfx::Size& size, GLenum format, GLenum filter)
: glId(textureId)
, glPixelBufferId(0)
, glUploadQueryId(0)
, pixels(0)
, pixelBuffer(0)
- , pool(pool)
, lockForReadCount(0)
, lockedForWrite(false)
, external(false)
@@ -88,13 +86,12 @@ ResourceProvider::Resource::Resource(unsigned textureId, int pool, const gfx::Si
{
}
-ResourceProvider::Resource::Resource(uint8_t* pixels, int pool, const gfx::Size& size, GLenum format, GLenum filter)
+ResourceProvider::Resource::Resource(uint8_t* pixels, const gfx::Size& size, GLenum format, GLenum filter)
: glId(0)
, glPixelBufferId(0)
, glUploadQueryId(0)
, pixels(pixels)
, pixelBuffer(0)
- , pool(pool)
, lockForReadCount(0)
, lockedForWrite(false)
, external(false)
@@ -148,21 +145,21 @@ bool ResourceProvider::inUseByConsumer(ResourceId id)
return !!resource->lockForReadCount || resource->exported;
}
-ResourceProvider::ResourceId ResourceProvider::createResource(int pool, const gfx::Size& size, GLenum format, TextureUsageHint hint)
+ResourceProvider::ResourceId ResourceProvider::createResource(const gfx::Size& size, GLenum format, TextureUsageHint hint)
{
switch (m_defaultResourceType) {
case GLTexture:
- return createGLTexture(pool, size, format, hint);
+ return createGLTexture(size, format, hint);
case Bitmap:
DCHECK(format == GL_RGBA);
- return createBitmap(pool, size);
+ return createBitmap(size);
}
LOG(FATAL) << "Invalid default resource type.";
return 0;
}
-ResourceProvider::ResourceId ResourceProvider::createGLTexture(int pool, const gfx::Size& size, GLenum format, TextureUsageHint hint)
+ResourceProvider::ResourceId ResourceProvider::createGLTexture(const gfx::Size& size, GLenum format, TextureUsageHint hint)
{
DCHECK_LE(size.width(), m_maxTextureSize);
DCHECK_LE(size.height(), m_maxTextureSize);
@@ -187,19 +184,19 @@ ResourceProvider::ResourceId ResourceProvider::createGLTexture(int pool, const g
GLC(context3d, context3d->texImage2D(GL_TEXTURE_2D, 0, format, size.width(), size.height(), 0, format, GL_UNSIGNED_BYTE, 0));
ResourceId id = m_nextId++;
- Resource resource(textureId, pool, size, format, GL_LINEAR);
+ Resource resource(textureId, size, format, GL_LINEAR);
m_resources[id] = resource;
return id;
}
-ResourceProvider::ResourceId ResourceProvider::createBitmap(int pool, const gfx::Size& size)
+ResourceProvider::ResourceId ResourceProvider::createBitmap(const gfx::Size& size)
{
DCHECK(m_threadChecker.CalledOnValidThread());
uint8_t* pixels = new uint8_t[size.width() * size.height() * 4];
ResourceId id = m_nextId++;
- Resource resource(pixels, pool, size, GL_RGBA, GL_LINEAR);
+ Resource resource(pixels, size, GL_RGBA, GL_LINEAR);
m_resources[id] = resource;
return id;
}
@@ -217,7 +214,7 @@ ResourceProvider::ResourceId ResourceProvider::createResourceFromExternalTexture
GLC(context3d, context3d->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));
ResourceId id = m_nextId++;
- Resource resource(textureId, 0, gfx::Size(), 0, GL_LINEAR);
+ Resource resource(textureId, gfx::Size(), 0, GL_LINEAR);
resource.external = true;
m_resources[id] = resource;
return id;
@@ -266,18 +263,6 @@ void ResourceProvider::deleteResourceInternal(ResourceMap::iterator it)
m_resources.erase(it);
}
-void ResourceProvider::deleteOwnedResources(int pool)
-{
- DCHECK(m_threadChecker.CalledOnValidThread());
- ResourceIdArray toDelete;
- for (ResourceMap::iterator it = m_resources.begin(); it != m_resources.end(); ++it) {
- if (it->second.pool == pool && !it->second.external && !it->second.markedForDeletion)
- toDelete.push_back(it->first);
- }
- for (ResourceIdArray::iterator it = toDelete.begin(); it != toDelete.end(); ++it)
- deleteResource(*it);
-}
-
ResourceProvider::ResourceType ResourceProvider::resourceType(ResourceId id)
{
ResourceMap::iterator it = m_resources.find(id);
@@ -545,22 +530,23 @@ bool ResourceProvider::initialize()
return true;
}
-int ResourceProvider::createChild(int pool)
+int ResourceProvider::createChild()
{
DCHECK(m_threadChecker.CalledOnValidThread());
Child childInfo;
- childInfo.pool = pool;
int child = m_nextChild++;
m_children[child] = childInfo;
return child;
}
-void ResourceProvider::destroyChild(int child)
+void ResourceProvider::destroyChild(int child_id)
{
DCHECK(m_threadChecker.CalledOnValidThread());
- ChildMap::iterator it = m_children.find(child);
+ ChildMap::iterator it = m_children.find(child_id);
DCHECK(it != m_children.end());
- deleteOwnedResources(it->second.pool);
+ Child& child = it->second;
+ for (ResourceIdMap::iterator child_it = child.childToParentMap.begin(); child_it != child.childToParentMap.end(); ++child_it)
+ deleteResource(child_it->second);
m_children.erase(it);
}
@@ -643,7 +629,7 @@ void ResourceProvider::receiveFromChild(int child, const TransferableResourceLis
GLC(context3d, context3d->bindTexture(GL_TEXTURE_2D, textureId));
GLC(context3d, context3d->consumeTextureCHROMIUM(GL_TEXTURE_2D, it->mailbox.name));
ResourceId id = m_nextId++;
- Resource resource(textureId, childInfo.pool, it->size, it->format, it->filter);
+ Resource resource(textureId, it->size, it->format, it->filter);
resource.mailbox.setName(it->mailbox.name);
m_resources[id] = resource;
childInfo.parentToChildMap[id] = it->id;
« no previous file with comments | « cc/resource_provider.h ('k') | cc/resource_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698