summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2014-09-09 20:03:08 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-09 20:03:09 +0000
commitb2201151f367a432650a5ea2ba7b2b22fccf1f20 (patch)
tree893fd8fd11c7f60e9c40c222ed501f8cf5abe575 /libs
parent0b81adcaea4acd2968947efa516321e6378dd51d (diff)
parent70735bd5ddd6ba3063d5537f510324cb2515aba6 (diff)
downloadframeworks_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.cpp8
-rw-r--r--libs/hwui/Caches.h1
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;