summaryrefslogtreecommitdiff
path: root/libs/gui/BufferQueueThreadState.cpp
diff options
context:
space:
mode:
author Vishnu Nair <vishnun@google.com> 2023-04-26 19:47:29 -0700
committer Vishnu Nair <vishnun@google.com> 2023-05-10 09:24:08 -0700
commit3be61905f09f265de9732eed00985e324540e5b8 (patch)
tree4ec930ea95a756975f7df1b6e25260d53cc01e37 /libs/gui/BufferQueueThreadState.cpp
parent50fe0d960d1df5d6d99e6808d0cb941f2bc7f772 (diff)
[sf] Properly update clones of clones
Relanding with the change to only update onscreen mirror roots and cleaning up some debug logs. When updating a cloned layer hierarchy that contains another cloned layer hierarchy, we are dependent on the order in which we update each hierarchy. The inner cloned hierarchy must be updated first otherwise the outer clone will not capture the entire tree and some layers might be omitted from composition. To fix this we track all layer mirror roots. When updating each root, we check to see if they mirror another root. If they do mirror another root and that root has not been updated, we update the root again at the end. Test: repro steps in bug Fixes: 279622227 Change-Id: I125f7c788716d59909b77a88ef4098b7cac08919
Diffstat (limited to 'libs/gui/BufferQueueThreadState.cpp')
0 files changed, 0 insertions, 0 deletions