From f85008bb86d6c5576121bd4218b3f82d4077e79b Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Wed, 19 Nov 2025 15:56:54 +0200 Subject: [PATCH] compositor: Embed the paint node status when rebuilding z-ordered list As weston_compositor_build_view_list() marks all the outputs needing a paint node rebuild of the re-order list, embed the paint node status update to ALL_DRITY into straight into weston_output_build_z_order_list(). This way we'll latch it on the view list rebuild. Signed-off-by: Marius Vlad --- libweston/compositor.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index 0ce37b96c..727d23bb0 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -3432,6 +3432,7 @@ weston_output_build_z_order_list(struct weston_compositor *compositor, add_to_z_order_list(output, pnode); } + output->paint_node_changes = WESTON_PAINT_NODE_ALL_DIRTY; output->paint_node_list_needs_rebuild = false; } @@ -3604,10 +3605,8 @@ weston_output_repaint(struct weston_output *output) TL_POINT(ec, TLP_CORE_REPAINT_BEGIN, TLP_OUTPUT(output), TLP_END); /* Rebuild the surface list and update surface transforms up front. */ - if (ec->view_list_needs_rebuild) { + if (ec->view_list_needs_rebuild) weston_compositor_build_view_list(ec); - output->paint_node_changes = WESTON_PAINT_NODE_ALL_DIRTY; - } if (output->paint_node_list_needs_rebuild) weston_output_build_z_order_list(ec, output);