am dacd4751: Merge "Fix Contacts animation jank" into jb-mr2-dev

* commit 'dacd47516321d263efa7489b5b9bd7d8e1714332':
  Fix Contacts animation jank
This commit is contained in:
Chet Haase
2013-04-10 10:51:53 -07:00
committed by Android Git Automerger
2 changed files with 6 additions and 5 deletions

View File

@@ -1368,7 +1368,7 @@ public abstract class HardwareRenderer {
callbacks.onHardwarePreDraw(canvas);
if (displayList != null) {
status = drawDisplayList(attachInfo, canvas, displayList, status);
status |= drawDisplayList(attachInfo, canvas, displayList, status);
} else {
// Shouldn't reach here
view.draw(canvas);

View File

@@ -1905,14 +1905,15 @@ void OpenGLRenderer::finishDrawTexture() {
status_t OpenGLRenderer::drawDisplayList(DisplayList* displayList, Rect& dirty,
int32_t replayFlags) {
status_t status;
// All the usual checks and setup operations (quickReject, setupDraw, etc.)
// will be performed by the display list itself
if (displayList && displayList->isRenderable()) {
if (CC_UNLIKELY(mCaches.drawDeferDisabled)) {
startFrame();
status = startFrame();
ReplayStateStruct replayStruct(*this, dirty, replayFlags);
displayList->replay(replayStruct, 0);
return replayStruct.mDrawGlStatus;
return status | replayStruct.mDrawGlStatus;
}
DeferredDisplayList deferredList;
@@ -1920,9 +1921,9 @@ status_t OpenGLRenderer::drawDisplayList(DisplayList* displayList, Rect& dirty,
displayList->defer(deferStruct, 0);
flushLayers();
startFrame();
status = startFrame();
return deferredList.flush(*this, dirty);
return status | deferredList.flush(*this, dirty);
}
return DrawGlInfo::kStatusDone;