diff options
author | Chet Haase <chet@google.com> | 2012-08-15 13:46:54 -0700 |
---|---|---|
committer | Chet Haase <chet@google.com> | 2012-08-15 13:49:42 -0700 |
commit | 8025061c594e5171e1bf370d8fdd77e0e9a02b47 (patch) | |
tree | 9d532060b2c74b1fb1f8c0b75a7d652020a3f298 /libs/hwui | |
parent | 978f853d189c1857190b4a2e200c7a283e31ca14 (diff) | |
download | frameworks_base-8025061c594e5171e1bf370d8fdd77e0e9a02b47.zip frameworks_base-8025061c594e5171e1bf370d8fdd77e0e9a02b47.tar.gz frameworks_base-8025061c594e5171e1bf370d8fdd77e0e9a02b47.tar.bz2 |
Restore scissor state correctly
Chrome is disabling the scissor, which doesn't play well with our
code that assumes that we know the state of the scissor. This fix
sets up our internal state based on the actual state of the scissor
in the resume() function (which is called after any calls out to the
Chrome or Browser GL functor). This fixes intermittent rendering
artifacts, including a gray address bar (where the gray background
gets painted without the clip that is being applied to the text foreground).
Issue #6886339 Address bar in Chrome turns gray after swiping the tabs / favicons drift outside of tab
Change-Id: I3d8a23f4438b41a367336507845baaea90cccc7e
Diffstat (limited to 'libs/hwui')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 6639231..849c556 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -250,6 +250,7 @@ void OpenGLRenderer::resume() { glViewport(0, 0, snapshot->viewport.getWidth(), snapshot->viewport.getHeight()); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + mCaches.scissorEnabled = glIsEnabled(GL_SCISSOR_TEST); mCaches.enableScissor(); mCaches.resetScissor(); dirtyClip(); |