summaryrefslogtreecommitdiffstats
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-04-03 19:33:06 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-04-03 19:33:06 -0700
commit8c8c2400923bd5b0ab1f52adc4f2232dbf690d91 (patch)
tree5c45fa37ab5c4a3666bf5fb15d9b3c108009ca05 /libs/hwui/OpenGLRenderer.cpp
parentaf92c532e7e0fc076aa8fb55c43f8964dba16fcb (diff)
parente0aa84b7dc087e999e20055dcc04cb6a48d5bd62 (diff)
downloadframeworks_base-8c8c2400923bd5b0ab1f52adc4f2232dbf690d91.zip
frameworks_base-8c8c2400923bd5b0ab1f52adc4f2232dbf690d91.tar.gz
frameworks_base-8c8c2400923bd5b0ab1f52adc4f2232dbf690d91.tar.bz2
Merge "Optimize FBOs composition"
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index ec9b56b..216c451 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -631,6 +631,9 @@ void OpenGLRenderer::composeLayer(sp<Snapshot> current, sp<Snapshot> previous) {
const bool fboLayer = current->flags & Snapshot::kFlagIsFboLayer;
if (fboLayer) {
+ // Detach the texture from the FBO
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0);
+
// Unbind current FBO and restore previous one
glBindFramebuffer(GL_FRAMEBUFFER, previous->fbo);
}
@@ -671,11 +674,6 @@ void OpenGLRenderer::composeLayer(sp<Snapshot> current, sp<Snapshot> previous) {
// code path
// See LayerRenderer::destroyLayer(Layer*)
- // Detach the texture from the FBO
- glBindFramebuffer(GL_FRAMEBUFFER, current->fbo);
- glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0);
- glBindFramebuffer(GL_FRAMEBUFFER, previous->fbo);
-
// Put the FBO name back in the cache, if it doesn't fit, it will be destroyed
mCaches.fboCache.put(current->fbo);
layer->setFbo(0);