summaryrefslogtreecommitdiffstats
path: root/meta-agl-core/recipes-graphics/wayland/weston
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2022-08-24 12:04:01 +0300
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-09-01 12:20:04 +0000
commit0584467980142415294a44fc7049c187580603f5 (patch)
treec29a8d67aad48c03a0b341ce04fe63257805d630 /meta-agl-core/recipes-graphics/wayland/weston
parented74c2179101fd256611c1354a06363532b498f8 (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-.patch115
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
+