From d72b73cea49f29c41661e55eb6bfdbc04f09d809 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Mon, 17 Jun 2013 13:52:06 -0700 Subject: Better handle op size edge cases bug:9464358 Previously, empty and unknown sized ops are assumed to fully cover their clip. This is now corrected such that empty sized ops are pre-rejected before defer. Additionally, unknown sized ops disable overdraw avoidance. Change-Id: Icf2ce24f98be5ea6299e24ffcf826790373564a1 --- libs/hwui/OpenGLRenderer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libs/hwui/OpenGLRenderer.cpp') diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 05f43a9f74a5..ed6498f9fd9a 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1395,9 +1395,9 @@ bool OpenGLRenderer::storeDisplayState(DeferredDisplayState& state, int stateDef } state.mBounds.set(clippedBounds); } else { - // If we don't have bounds, let's assume we're clipped - // to prevent merging - state.mClipSideFlags = kClipSide_Full; + // Empty bounds implies size unknown. Label op as conservatively clipped to disable + // overdraw avoidance (since we don't know what it overlaps) + state.mClipSideFlags = kClipSide_ConservativeFull; state.mBounds.set(currentClip); } } -- cgit v1.2.3-59-g8ed1b