From da8532c6f48b4c10b5e2ccb9e08690341efa1616 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 31 Aug 2010 11:50:35 -0700 Subject: Add hooks for hardware accelerated WebView. Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003 --- libs/hwui/OpenGLRenderer.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'libs/hwui/OpenGLRenderer.cpp') diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 4ce30b0078a0..02f5dc53c7b7 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -143,6 +143,29 @@ void OpenGLRenderer::prepare() { mSnapshot->setClip(0.0f, 0.0f, mWidth, mHeight); } +void OpenGLRenderer::acquireContext() { + if (mCaches.currentProgram) { + if (mCaches.currentProgram->isInUse()) { + mCaches.currentProgram->remove(); + mCaches.currentProgram = NULL; + } + } +} + +void OpenGLRenderer::releaseContext() { + glViewport(0, 0, mSnapshot->viewport.getWidth(), mSnapshot->viewport.getHeight()); + + glEnable(GL_SCISSOR_TEST); + setScissorFromClip(); + + if (mCaches.blend) { + glEnable(GL_BLEND); + glBlendFunc(mCaches.lastSrcMode, mCaches.lastDstMode); + } else { + glDisable(GL_BLEND); + } +} + /////////////////////////////////////////////////////////////////////////////// // State management /////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3-59-g8ed1b