From 42f3a4b7c35dd1ea1922356eb3611af8cde05179 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Wed, 19 Jan 2011 13:42:26 -0800 Subject: Make embedded hardware layers work. Bug #3369474 Change-Id: Ib6d7fb44eedda9dc2933b5e1b176f307968af91d --- libs/hwui/LayerRenderer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'libs/hwui/LayerRenderer.cpp') 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; } /////////////////////////////////////////////////////////////////////////////// -- cgit v1.1