diff options
| author | 2014-05-15 13:21:28 -0700 | |
|---|---|---|
| committer | 2014-05-15 13:21:28 -0700 | |
| commit | 924197513aa2df4c1fb2977c1727f5d2c21f2689 (patch) | |
| tree | 402ec417e1b44e3f2b2c0ce6ef1efcd6d5a0f576 /libs/hwui/OpenGLRenderer.cpp | |
| parent | fe4c1e225d147fe9cb5d7c121b7d6d11a312844e (diff) | |
Correct viewport initialization, bounds comparison
Change-Id: Ibd751856e3712991e149800ed179464397dad7c3
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 4df97e672c5b..921c77ba38a5 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -662,7 +662,9 @@ void OpenGLRenderer::calculateLayerBoundsAndClip(Rect& bounds, Rect& clip, bool // When the layer is not an FBO, we may use glCopyTexImage so we // need to make sure the layer does not extend outside the bounds // of the framebuffer - if (!bounds.intersect(Rect(0, 0, getViewportWidth(), getViewportHeight()))) { + const Snapshot& previous = *(currentSnapshot()->previous); + Rect previousViewport(0, 0, previous.getViewportWidth(), previous.getViewportHeight()); + if (!bounds.intersect(previousViewport)) { bounds.setEmpty(); } else if (fboLayer) { clip.set(bounds); |