From 42cf94143c950789cb8a3eef5fcde45f3e9087cd Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Fri, 30 Jan 2026 13:33:07 +0200 Subject: [PATCH] libweston: give paint nodes internal_name and use it Makes it much easier for humans to track paint nodes through debug logs. Signed-off-by: Pekka Paalanen --- libweston/compositor.c | 5 ++++- libweston/libweston-internal.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index 9f034079f..c84797cb8 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -418,6 +418,8 @@ weston_paint_node_create(struct weston_surface *surface, pnode->output = output; wl_list_insert(&output->paint_node_list, &pnode->output_link); + str_printf(&pnode->internal_name, "%u:%s", output->id, view->internal_name); + wl_list_init(&pnode->z_order_link); pixman_region32_init(&pnode->damage); @@ -484,6 +486,7 @@ weston_paint_node_destroy(struct weston_paint_node *pnode) pixman_region32_fini(&pnode->visible); pixman_region32_fini(&pnode->visible_previous); pixman_region32_fini(&pnode->clipped_view); + free(pnode->internal_name); free(pnode); } @@ -9602,7 +9605,7 @@ debug_scene_view_print_paint_node(FILE *fp, if (!pnode) fprintf(fp, "\t\t\tpaint node [pending repaint]:\n"); else - fprintf(fp, "\t\t\tpaint node %p:\n", pnode); + fprintf(fp, "\t\t\tpaint node %s:\n", pnode->internal_name); fprintf(fp, "\t\t\t\toutput: %d (%s)%s\n", output->id, output->name, diff --git a/libweston/libweston-internal.h b/libweston/libweston-internal.h index fc1719203..6d92fe573 100644 --- a/libweston/libweston-internal.h +++ b/libweston/libweston-internal.h @@ -701,6 +701,8 @@ struct weston_paint_node { struct wl_list output_link; struct weston_output *output; + char *internal_name; + /* Mutable members: */ enum weston_paint_node_status status;