summaryrefslogtreecommitdiffstats
path: root/libs/hwui/LayerRenderer.cpp
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-01-19 13:42:26 -0800
committerRomain Guy <romainguy@google.com>2011-01-19 13:42:26 -0800
commit42f3a4b7c35dd1ea1922356eb3611af8cde05179 (patch)
treeaac476548acfc97b0dd5785ce06008c40b98753a /libs/hwui/LayerRenderer.cpp
parenta3311ed7a9ddd7ecb066f4731ce4bc3bd3ffd939 (diff)
downloadframeworks_base-42f3a4b7c35dd1ea1922356eb3611af8cde05179.zip
frameworks_base-42f3a4b7c35dd1ea1922356eb3611af8cde05179.tar.gz
frameworks_base-42f3a4b7c35dd1ea1922356eb3611af8cde05179.tar.bz2
Make embedded hardware layers work.
Bug #3369474 Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d
Diffstat (limited to 'libs/hwui/LayerRenderer.cpp')
-rw-r--r--libs/hwui/LayerRenderer.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp
index e6bea78..a167429 100644
--- a/libs/hwui/LayerRenderer.cpp
+++ b/libs/hwui/LayerRenderer.cpp
@@ -29,7 +29,6 @@ namespace uirenderer {
void LayerRenderer::prepare(bool opaque) {
LAYER_RENDERER_LOGD("Rendering into layer, fbo = %d", mLayer->fbo);
- glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint*) &mPreviousFbo);
glBindFramebuffer(GL_FRAMEBUFFER, mLayer->fbo);
OpenGLRenderer::prepare(opaque);
@@ -37,11 +36,17 @@ void LayerRenderer::prepare(bool opaque) {
void LayerRenderer::finish() {
OpenGLRenderer::finish();
- glBindFramebuffer(GL_FRAMEBUFFER, mPreviousFbo);
generateMesh();
LAYER_RENDERER_LOGD("Finished rendering into layer, fbo = %d", mLayer->mFbo);
+
+ // No need to unbind our FBO, this will be taken care of by the caller
+ // who will invoke OpenGLRenderer::resume()
+}
+
+GLint LayerRenderer::getTargetFbo() {
+ return mLayer->fbo;
}
///////////////////////////////////////////////////////////////////////////////