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

Unified Diff: cc/resource_provider.cc

Issue 11548052: Identify evictable textures by GL texture parameter (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Resolve against head again 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 980a6851300fdc42cbe98ac696dca5d2070a2824..c2b44d28e8e0885674e6233fe0024ab0227616bd 100644
--- a/cc/resource_provider.cc
+++ b/cc/resource_provider.cc
@@ -149,7 +149,7 @@ ResourceProvider::ResourceId ResourceProvider::createResource(const gfx::Size& s
{
switch (m_defaultResourceType) {
case GLTexture:
- return createGLTexture(size, format, hint);
+ return createGLTexture(size, format, GL_TEXTURE_POOL_UNMANAGED_CHROMIUM, hint);
case Bitmap:
DCHECK(format == GL_RGBA);
return createBitmap(size);
@@ -159,7 +159,21 @@ ResourceProvider::ResourceId ResourceProvider::createResource(const gfx::Size& s
return 0;
}
-ResourceProvider::ResourceId ResourceProvider::createGLTexture(const gfx::Size& size, GLenum format, TextureUsageHint hint)
+ResourceProvider::ResourceId ResourceProvider::createManagedResource(const gfx::Size& size, GLenum format, TextureUsageHint hint)
+{
+ switch (m_defaultResourceType) {
+ case GLTexture:
+ return createGLTexture(size, format, GL_TEXTURE_POOL_MANAGED_CHROMIUM, hint);
+ case Bitmap:
+ DCHECK(format == GL_RGBA);
+ return createBitmap(size);
+ }
+
+ LOG(FATAL) << "Invalid default resource type.";
+ return 0;
+}
+
+ResourceProvider::ResourceId ResourceProvider::createGLTexture(const gfx::Size& size, GLenum format, GLenum texturePool, TextureUsageHint hint)
{
DCHECK_LE(size.width(), m_maxTextureSize);
DCHECK_LE(size.height(), m_maxTextureSize);
@@ -174,6 +188,7 @@ ResourceProvider::ResourceId ResourceProvider::createGLTexture(const gfx::Size&
GLC(context3d, context3d->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
GLC(context3d, context3d->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));
GLC(context3d, context3d->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));
+ GLC(context3d, context3d->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_POOL_CHROMIUM, texturePool));
if (m_useTextureUsageHint && hint == TextureUsageFramebuffer)
GLC(context3d, context3d->texParameteri(GL_TEXTURE_2D, GL_TEXTURE_USAGE_ANGLE, GL_FRAMEBUFFER_ATTACHMENT_ANGLE));
« 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