diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2022-08-24 12:04:01 +0300 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2022-09-01 12:20:04 +0000 |
commit | 0584467980142415294a44fc7049c187580603f5 (patch) | |
tree | c29a8d67aad48c03a0b341ce04fe63257805d630 /meta-agl-core/recipes-graphics/wayland/weston | |
parent | ed74c2179101fd256611c1354a06363532b498f8 (diff) |
weston_10.0_aglcore.inc: Update wl_output to version 4
This allows clients to query the output name and description name as
seen by the compositor. Previously this was only possible only with
xdg_output_manager extension but a recent update to the core wayland
protocol allows us to do just that.
Patch is posted upstream
https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/987, but
will take some time to get in, as we're in the process of a release.
Bug-AGL: SPEC-4530
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I709b941a220e9906078944ee585435df7141d448
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27949
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-core/recipes-graphics/wayland/weston')
-rw-r--r-- | meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch new file mode 100644 index 000000000..46e305d12 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch @@ -0,0 +1,115 @@ +From 5361d157ff6b11d5cb7a9f989abe5f376c9e2efa Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Wed, 24 Aug 2022 11:43:06 +0300 +Subject: [PATCH] libweston: Send name,description, update wl_output to ver 4 + +These have been in wayland a while back with version 1.20.0. + +We also need to update the test client helper with this bump, as +those bind to version 4. + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + libweston/compositor.c | 14 +++++++++++++- + tests/weston-test-client-helper.c | 18 ++++++++++++++++++ + tests/weston-test-client-helper.h | 2 ++ + 3 files changed, 33 insertions(+), 1 deletion(-) + +diff --git a/libweston/compositor.c b/libweston/compositor.c +index 1670c50..af7c71e 100644 +--- a/libweston/compositor.c ++++ b/libweston/compositor.c +@@ -184,6 +184,12 @@ weston_mode_switch_send_events(struct weston_head *head, + if (version >= WL_OUTPUT_SCALE_SINCE_VERSION && scale_changed) + wl_output_send_scale(resource, output->current_scale); + ++ if (version >= WL_OUTPUT_NAME_SINCE_VERSION) ++ wl_output_send_name(resource, head->name); ++ ++ if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION) ++ wl_output_send_description(resource, head->model); ++ + if (version >= WL_OUTPUT_DONE_SINCE_VERSION) + wl_output_send_done(resource); + } +@@ -5198,6 +5204,12 @@ bind_output(struct wl_client *client, + mode->refresh); + } + ++ if (version >= WL_OUTPUT_NAME_SINCE_VERSION) ++ wl_output_send_name(resource, head->name); ++ ++ if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION) ++ wl_output_send_description(resource, head->model); ++ + if (version >= WL_OUTPUT_DONE_SINCE_VERSION) + wl_output_send_done(resource); + } +@@ -5206,7 +5218,7 @@ static void + weston_head_add_global(struct weston_head *head) + { + head->global = wl_global_create(head->compositor->wl_display, +- &wl_output_interface, 3, ++ &wl_output_interface, 4, + head, bind_output); + } + +diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c +index 01c4b80..8369c40 100644 +--- a/tests/weston-test-client-helper.c ++++ b/tests/weston-test-client-helper.c +@@ -715,6 +715,20 @@ output_handle_scale(void *data, + output->scale = scale; + } + ++static void ++output_handle_name(void *data, struct wl_output *wl_output, const char *name) ++{ ++ struct output *output = data; ++ output->name = strdup(name); ++} ++ ++static void ++output_handle_description(void *data, struct wl_output *wl_output, const char *desc) ++{ ++ struct output *output = data; ++ output->name = strdup(desc); ++} ++ + static void + output_handle_done(void *data, + struct wl_output *wl_output) +@@ -729,6 +743,8 @@ static const struct wl_output_listener output_listener = { + output_handle_mode, + output_handle_done, + output_handle_scale, ++ output_handle_name, ++ output_handle_description, + }; + + static void +@@ -737,6 +753,8 @@ output_destroy(struct output *output) + assert(wl_proxy_get_version((struct wl_proxy *)output->wl_output) >= 3); + wl_output_release(output->wl_output); + wl_list_remove(&output->link); ++ free(output->name); ++ free(output->desc); + free(output); + } + +diff --git a/tests/weston-test-client-helper.h b/tests/weston-test-client-helper.h +index 8e1505d..9e05009 100644 +--- a/tests/weston-test-client-helper.h ++++ b/tests/weston-test-client-helper.h +@@ -163,6 +163,8 @@ struct output { + int height; + int scale; + int initialized; ++ char *name; ++ char *desc; + }; + + struct buffer { +-- +2.35.1 + |