summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2023-06-26 20:26:08 +0100
committerDaniel Stone <daniels@collabora.com>2023-07-04 15:52:21 +0100
commitc859dd1b9e4378df508c6bc0bf7ce5d1ec279713 (patch)
treef8fe36657bbaa33ea52d1cd0e080c15ef0184b4d /include
parentce6afda6a2ca3d153aefb345bde922e0c64d7273 (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.h2
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 {