summaryrefslogtreecommitdiff
path: root/libs/hwui/OpenGLRenderer.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2013-01-18 16:42:51 -0800
committer Romain Guy <romainguy@google.com> 2013-01-18 16:42:51 -0800
commit2055abaa0a590c35e27e1ae2e7d7cfccdfb98b59 (patch)
tree1e302d08b6aa3714048a4d8435aa44f155c998c9 /libs/hwui/OpenGLRenderer.cpp
parentf25febf01453733e8bdd1ac241ecd9d3bcbef475 (diff)
Allow layers with a stencil buffer to be resized on the fly
Bug #7146141 This change moves the resizeLayer() from LayerCache (where it should never have been anyway) to Layer. This makes a little more sense. Change-Id: I8b2f9c19c558e738405a58b9e71ec5799fc6be88
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index be34b40ee42f..f55bc9d2a381 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1248,11 +1248,12 @@ void OpenGLRenderer::attachStencilBufferToLayer(Layer* layer) {
// TODO: See Layer::removeFbo(). The stencil renderbuffer should be cached
GLuint buffer;
glGenRenderbuffers(1, &buffer);
- glBindRenderbuffer(GL_RENDERBUFFER, buffer);
- glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8,
- layer->getWidth(), layer->getHeight());
- glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, buffer);
+
layer->setStencilRenderBuffer(buffer);
+ layer->bindStencilRenderBuffer();
+ layer->allocateStencilRenderBuffer();
+
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, buffer);
}
}