diff options
author | Daniel Stone <daniels@collabora.com> | 2023-06-26 20:26:08 +0100 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2023-07-04 15:52:21 +0100 |
commit | c859dd1b9e4378df508c6bc0bf7ce5d1ec279713 (patch) | |
tree | f8fe36657bbaa33ea52d1cd0e080c15ef0184b4d /include | |
parent | ce6afda6a2ca3d153aefb345bde922e0c64d7273 (diff) |
surface: Only rebuild subsurface lists when necessary
There's no need to go through and rebuild the subsurface list every
time. In addition to being unnecessary work, it complicates things like
damage tracking.
Track a new surface dirty status indicating that the subsurface tree has
changed in some way, and only rebuild subsurface stacking when this has
occurred.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libweston/libweston.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h index 20fa7727..df545eac 100644 --- a/include/libweston/libweston.h +++ b/include/libweston/libweston.h @@ -1742,6 +1742,8 @@ enum weston_surface_status { WESTON_SURFACE_DIRTY_BUFFER_PARAMS = 1 << 3, /** input region has changed */ WESTON_SURFACE_DIRTY_INPUT = 1 << 4, + /** subsurfaces have been added, removed, or restacked */ + WESTON_SURFACE_DIRTY_SUBSURFACE_CONFIG = 1 << 5, }; struct weston_surface_state { |