diff options
author | 2019-01-28 18:13:27 -0800 | |
---|---|---|
committer | 2019-01-28 18:18:38 -0800 | |
commit | 1323c9525fbe7a70b40be9258fe39d254574e3cc (patch) | |
tree | 3008c90880375c54b521eec7d7ed5175d2b1ab05 /libs/gui/SurfaceControl.cpp | |
parent | e1f12b08644bc73066e7e2a406c952a20cff0d0a (diff) |
Ensure visible regions are recomputed when children change.
Currently a reparent operation by itself may not be enough
to trigger visible region computation, leading to invalid results
on-screen. Note that reparent does not change the geometry, or the state
sequence number, this means that doTransaction does not return Layer::eVisibleRegion.
For layer addition and removal we explicitly mark the visible regions dirty (see
mLayersAdded and mLayersRemoved in SurfaceFlinger.cpp). We implement a similar model for children,
with parents setting mChildrenChanged, and consuming it in doTransaction in order
to emit an eVisibleRegion flag.
Test: Manual
Bug: 123333167
Bug: 123131546
Bug: 123285451
Change-Id: I131c814e6bde927353f78c7f62d98b0f5cd2ff73
Diffstat (limited to 'libs/gui/SurfaceControl.cpp')
0 files changed, 0 insertions, 0 deletions