summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
authorChet Haase <chet@google.com>2012-08-15 13:46:54 -0700
committerChet Haase <chet@google.com>2012-08-15 13:49:42 -0700
commit8025061c594e5171e1bf370d8fdd77e0e9a02b47 (patch)
tree9d532060b2c74b1fb1f8c0b75a7d652020a3f298 /libs/hwui
parent978f853d189c1857190b4a2e200c7a283e31ca14 (diff)
downloadframeworks_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.cpp1
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();