diff options
author | Chris Craik <ccraik@google.com> | 2014-09-09 20:03:08 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-09 20:03:09 +0000 |
commit | b2201151f367a432650a5ea2ba7b2b22fccf1f20 (patch) | |
tree | 893fd8fd11c7f60e9c40c222ed501f8cf5abe575 /libs | |
parent | 0b81adcaea4acd2968947efa516321e6378dd51d (diff) | |
parent | 70735bd5ddd6ba3063d5537f510324cb2515aba6 (diff) | |
download | frameworks_base-b2201151f367a432650a5ea2ba7b2b22fccf1f20.zip frameworks_base-b2201151f367a432650a5ea2ba7b2b22fccf1f20.tar.gz frameworks_base-b2201151f367a432650a5ea2ba7b2b22fccf1f20.tar.bz2 |
Merge "hwui: Caches: use mBoundTextures only for GL_TEXTURE_2D" into lmp-dev
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/Caches.cpp | 8 | ||||
-rw-r--r-- | libs/hwui/Caches.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp index 9855f71..f853d1f 100644 --- a/libs/hwui/Caches.cpp +++ b/libs/hwui/Caches.cpp @@ -551,9 +551,13 @@ void Caches::bindTexture(GLuint texture) { } void Caches::bindTexture(GLenum target, GLuint texture) { - if (mBoundTextures[mTextureUnit] != texture) { + if (target == GL_TEXTURE_2D) { + bindTexture(texture); + } else { + // GLConsumer directly calls glBindTexture() with + // target=GL_TEXTURE_EXTERNAL_OES, don't cache this target + // since the cached state could be stale glBindTexture(target, texture); - mBoundTextures[mTextureUnit] = texture; } } diff --git a/libs/hwui/Caches.h b/libs/hwui/Caches.h index 726b74d..7aa628c 100644 --- a/libs/hwui/Caches.h +++ b/libs/hwui/Caches.h @@ -431,6 +431,7 @@ private: uint32_t mFunctorsCount; + // Caches texture bindings for the GL_TEXTURE_2D target GLuint mBoundTextures[REQUIRED_TEXTURE_UNITS_COUNT]; OverdrawColorSet mOverdrawDebugColorSet; |