diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2023-05-05 11:38:40 +0300 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-05-08 20:15:48 +0000 |
commit | 3dac145f4645e18ad551d6c44c0bcc46b5c9205d (patch) | |
tree | 3df2ba09d54a237537171d345096950b550dfe9f /meta-agl-core/recipes-graphics | |
parent | 0fed1912f2876569647c0f9927d07695e0325d36 (diff) |
weston_10.0_aglcore: Add helper iterator to loop over debug scopes
This is helpful for users to list the available scopes, that other
compoments of libweston subscribed to.
Bug-AGL: SPEC-4593
Change-Id: Idec02efe997104f6af8164281eee0f2e46f996bf
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28804
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-core/recipes-graphics')
-rw-r--r-- | meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-an-iterator-for-going-over-.patch | 89 | ||||
-rw-r--r-- | meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc | 3 |
2 files changed, 91 insertions, 1 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-an-iterator-for-going-over-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-an-iterator-for-going-over-.patch new file mode 100644 index 000000000..2263a2f60 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-an-iterator-for-going-over-.patch @@ -0,0 +1,89 @@ +From 82b05408e5ed8a8651a99b2dcc61a24c108d48f1 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Fri, 5 May 2023 11:33:40 +0300 +Subject: [PATCH] libweston/weston-log: Add an iterator for going over scope + list + +libweston users, with the weston-debug protocol doesn't have a way +to list the debug scopes. This adds an iterator function to browse +over the opaque weston_log_scope. + +This also adds two helper functions to get the scope name and its +description. + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + include/libweston/weston-log.h | 9 +++++++++ + libweston/weston-log.c | 36 ++++++++++++++++++++++++++++++++++ + 2 files changed, 45 insertions(+) + +diff --git a/include/libweston/weston-log.h b/include/libweston/weston-log.h +index aeb7768bf..846cdb089 100644 +--- a/include/libweston/weston-log.h ++++ b/include/libweston/weston-log.h +@@ -131,9 +131,18 @@ struct weston_log_subscription * + weston_log_subscription_iterate(struct weston_log_scope *scope, + struct weston_log_subscription *sub_iter); + ++struct weston_log_scope * ++weston_log_scopes_iterate(struct weston_compositor *compositor, ++ struct weston_log_scope *nscope); + void + weston_log_flight_recorder_display_buffer(FILE *file); + ++const char * ++weston_log_scope_get_description(struct weston_log_scope *scope); ++ ++const char * ++weston_log_scope_get_name(struct weston_log_scope *scope); ++ + #ifdef __cplusplus + } + #endif +diff --git a/libweston/weston-log.c b/libweston/weston-log.c +index 276fde267..957c30c56 100644 +--- a/libweston/weston-log.c ++++ b/libweston/weston-log.c +@@ -1009,3 +1009,39 @@ weston_log_subscription_iterate(struct weston_log_scope *scope, + + return container_of(node, struct weston_log_subscription, source_link); + } ++ ++WL_EXPORT struct weston_log_scope * ++weston_log_scopes_iterate(struct weston_compositor *compositor, ++ struct weston_log_scope *nscope) ++{ ++ struct weston_log_context *log_ctx = compositor->weston_log_ctx; ++ struct wl_list *list; ++ struct wl_list *node; ++ ++ assert(log_ctx); ++ ++ list = &log_ctx->scope_list; ++ ++ if (nscope) { ++ node = nscope->compositor_link.next; ++ } else { ++ node = list->next; ++ } ++ ++ if (node == list) ++ return NULL; ++ ++ return container_of(node, struct weston_log_scope, compositor_link); ++} ++ ++WL_EXPORT const char * ++weston_log_scope_get_name(struct weston_log_scope *scope) ++{ ++ return scope->name; ++} ++ ++WL_EXPORT const char * ++weston_log_scope_get_description(struct weston_log_scope *scope) ++{ ++ return scope->desc; ++} +-- +2.39.2 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc index a77600776..546f5ec6f 100644 --- a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc +++ b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc @@ -8,7 +8,8 @@ PACKAGECONFIG:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', SRC_URI:append = "file://0001-libweston-Send-name-description-update-wl_output-to-.patch \ file://0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch \ - file://0001-simple-touch-Add-maximized-fullscreen-states.patch" + file://0001-simple-touch-Add-maximized-fullscreen-states.patch \ + file://0001-libweston-weston-log-Add-an-iterator-for-going-over-.patch" # seat management is only for waltham-transmitter-plugin SRC_URI:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', ' file://0001-libweston-Migrate-weston_seat_init-release-to-public.patch', '', d)}" |