diff options
| author | Romain Guy <romainguy@google.com> | 2010-08-31 11:50:35 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2010-08-31 11:50:35 -0700 |
| commit | da8532c6f48b4c10b5e2ccb9e08690341efa1616 (patch) | |
| tree | e6ce7f533b4f4bb5bb9cdf60be64138d6bbb34ea /libs/hwui/OpenGLRenderer.cpp | |
| parent | 7dff1a72146ba549d51649ad786a0e1cc8b6897c (diff) | |
| download | frameworks_base-da8532c6f48b4c10b5e2ccb9e08690341efa1616.zip frameworks_base-da8532c6f48b4c10b5e2ccb9e08690341efa1616.tar.gz frameworks_base-da8532c6f48b4c10b5e2ccb9e08690341efa1616.tar.bz2 | |
Add hooks for hardware accelerated WebView.
Change-Id: I907cdec8a67594f87749ac46bda85f04af5a2003
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 4ce30b0..02f5dc5 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 /////////////////////////////////////////////////////////////////////////////// |
