diff options
author | Chris Craik <ccraik@google.com> | 2013-03-28 11:25:24 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2013-03-28 11:33:13 -0700 |
commit | 7273daace9303f4662444111c40bb83d3ead4a92 (patch) | |
tree | c1bb85a291fef72c89254888dea021bd3b847b1f /libs/hwui/DeferredDisplayList.h | |
parent | 8ff0201ad0354b6c43aebac6075298ee847c42ef (diff) | |
download | frameworks_base-7273daace9303f4662444111c40bb83d3ead4a92.zip frameworks_base-7273daace9303f4662444111c40bb83d3ead4a92.tar.gz frameworks_base-7273daace9303f4662444111c40bb83d3ead4a92.tar.bz2 |
Fix issues related to saveLayer/restore deferral
bug:8464795
Changes drawModifiers and alpha to be restored for all operations,
since saveLayer/restore use these values, not just draw operations
Also forces a renderer state restoration before a deferred restore op
is played back, in case it is associated with a saveLayer that
doesn't have the save_clip flag set
Change-Id: I9da5d44fefbfffdee164c98f4f139843dacf85df
Diffstat (limited to 'libs/hwui/DeferredDisplayList.h')
-rw-r--r-- | libs/hwui/DeferredDisplayList.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/hwui/DeferredDisplayList.h b/libs/hwui/DeferredDisplayList.h index 2afc8c1..3e450da 100644 --- a/libs/hwui/DeferredDisplayList.h +++ b/libs/hwui/DeferredDisplayList.h @@ -65,7 +65,7 @@ public: void addClip(OpenGLRenderer& renderer, ClipOp* op); void addSaveLayer(OpenGLRenderer& renderer, SaveLayerOp* op, int newSaveCount); void addSave(OpenGLRenderer& renderer, SaveOp* op, int newSaveCount); - void addRestoreToCount(OpenGLRenderer& renderer, int newSaveCount); + void addRestoreToCount(OpenGLRenderer& renderer, StateOp* op, int newSaveCount); /** * Add a draw op into the DeferredDisplayList, reordering as needed (for performance) if @@ -81,7 +81,7 @@ private: void resetBatchingState(); void storeStateOpBarrier(OpenGLRenderer& renderer, StateOp* op); - void storeRestoreToCountBarrier(int newSaveCount); + void storeRestoreToCountBarrier(OpenGLRenderer& renderer, StateOp* op, int newSaveCount); bool recordingComplexClip() const { return mComplexClipStackStart >= 0; } |