From 80d4902196899d1325cd9f52c06ae0174cf9bd4c Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Fri, 20 Jun 2014 15:03:43 -0700 Subject: Wrap ViewGroup content in save/restore to protect composited children bug:15570351 Pos Z composited children are drawn before the primary restore for a RenderNode. This means that without an additional save/restore (which wraps the content) they aren't protected from transformations/clips that happen within the ViewGroup's DisplayList. Also changes RenderNode to use OpenGLRenderer tag for displaylist dumping consistency, and simplifies the entry points into RenderNode drawing, since the distinction between tree root vs tree internal is no longer important. Change-Id: I2621eba0592c74d71f85a91a4ab3d0da2d7468d3 --- libs/hwui/DisplayListOp.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libs/hwui/DisplayListOp.h') diff --git a/libs/hwui/DisplayListOp.h b/libs/hwui/DisplayListOp.h index 233f3f0..4dbebc5 100644 --- a/libs/hwui/DisplayListOp.h +++ b/libs/hwui/DisplayListOp.h @@ -1475,19 +1475,19 @@ public: virtual void defer(DeferStateStruct& deferStruct, int saveCount, int level, bool useQuickReject) { if (mDisplayList && mDisplayList->isRenderable() && !mSkipInOrderDraw) { - mDisplayList->deferNodeInParent(deferStruct, level + 1); + mDisplayList->defer(deferStruct, level + 1); } } virtual void replay(ReplayStateStruct& replayStruct, int saveCount, int level, bool useQuickReject) { if (mDisplayList && mDisplayList->isRenderable() && !mSkipInOrderDraw) { - mDisplayList->replayNodeInParent(replayStruct, level + 1); + mDisplayList->replay(replayStruct, level + 1); } } - // NOT USED since replay() is overridden virtual status_t applyDraw(OpenGLRenderer& renderer, Rect& dirty) { - return DrawGlInfo::kStatusDone; + LOG_ALWAYS_FATAL("should not be called, because replay() is overridden"); + return 0; } virtual void output(int level, uint32_t logFlags) const { -- cgit v1.1