From e8b2033d82568620eb10a9202457e11a73152a2b Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Tue, 21 Oct 2025 08:54:13 -0500 Subject: [PATCH] compositor: Better instrument transform updates Let's just make them show up in the perfetto traces when they actually happen, so it's a little easier to see how much benefit we derive from trying to defer them. Signed-off-by: Derek Foreman --- libweston/compositor.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index 16a0dfb36..8066e95be 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -1825,8 +1825,8 @@ weston_view_update_transform_enable(struct weston_view *view) return 0; } -WL_EXPORT void -weston_view_update_transform(struct weston_view *view) +static void +weston_view_update_transform_internal(struct weston_view *view) { WESTON_TRACE_FUNC(); struct weston_view *parent = view->geometry.parent; @@ -1834,9 +1834,6 @@ weston_view_update_transform(struct weston_view *view) struct weston_layer *layer; pixman_region32_t mask; - if (!view->transform.dirty) - return; - if (parent) weston_view_update_transform(parent); @@ -1879,6 +1876,15 @@ weston_view_update_transform(struct weston_view *view) } } +WL_EXPORT void +weston_view_update_transform(struct weston_view *view) +{ + if (!view->transform.dirty) + return; + + weston_view_update_transform_internal(view); +} + void weston_view_geometry_dirty_internal(struct weston_view *view) {