diff options
author | Romain Guy <romainguy@google.com> | 2012-04-03 19:33:06 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-03 19:33:06 -0700 |
commit | 8c8c2400923bd5b0ab1f52adc4f2232dbf690d91 (patch) | |
tree | 5c45fa37ab5c4a3666bf5fb15d9b3c108009ca05 /libs | |
parent | af92c532e7e0fc076aa8fb55c43f8964dba16fcb (diff) | |
parent | e0aa84b7dc087e999e20055dcc04cb6a48d5bd62 (diff) | |
download | frameworks_base-8c8c2400923bd5b0ab1f52adc4f2232dbf690d91.zip frameworks_base-8c8c2400923bd5b0ab1f52adc4f2232dbf690d91.tar.gz frameworks_base-8c8c2400923bd5b0ab1f52adc4f2232dbf690d91.tar.bz2 |
Merge "Optimize FBOs composition"
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 8 |
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); |