diff options
Diffstat (limited to 'meta-agl-core/recipes-graphics/wayland/weston')
3 files changed, 173 insertions, 0 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch new file mode 100644 index 000000000..32755c4b3 --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch @@ -0,0 +1,30 @@ +From 7e5fb58591a29d60657158262a0772796bfd3461 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Wed, 12 Feb 2020 13:18:19 +0200 +Subject: [PATCH] libweston: Expose weston_output_damage() in libweston + +We have weston_compositor_damage_all() exported and declared but users +might need weston_output_damage() to refer to an individual output. The +symbol already exported so just declare it. + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + include/libweston/libweston.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h +index 1439775e..9fac5be0 100644 +--- a/include/libweston/libweston.h ++++ b/include/libweston/libweston.h +@@ -1604,6 +1604,8 @@ weston_compositor_schedule_repaint(struct weston_compositor *compositor); + void + weston_compositor_damage_all(struct weston_compositor *compositor); + void ++weston_output_damage(struct weston_output *woutput); ++void + weston_compositor_wake(struct weston_compositor *compositor); + void + weston_compositor_sleep(struct weston_compositor *compositor); +-- +2.20.1 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch new file mode 100644 index 000000000..02af7cbaf --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch @@ -0,0 +1,106 @@ +From 4534fcab54409b08faf4445ed6780136b58afb63 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Mon, 28 Sep 2020 22:51:00 +0300 +Subject: [PATCH 1/2] libweston: Migrate weston_seat_init/release to public + headers + +weston_seat_init/release needed for creating weston plug-ins that want +manage seat/input on their own. + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + include/libweston/libweston.h | 25 +++++++++++++++++++++++++ + libweston/libweston-internal.h | 31 +++---------------------------- + 2 files changed, 28 insertions(+), 28 deletions(-) + +diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h +index 54ea008..59541f2 100644 +--- a/include/libweston/libweston.h ++++ b/include/libweston/libweston.h +@@ -2053,6 +2053,31 @@ void + weston_timeline_refresh_subscription_objects(struct weston_compositor *wc, + void *object); + ++/* input, seat */ ++void ++weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec, ++ const char *seat_name); ++void ++weston_seat_release(struct weston_seat *seat); ++ ++void ++weston_seat_init_pointer(struct weston_seat *seat); ++ ++int ++weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap); ++ ++void ++weston_seat_init_touch(struct weston_seat *seat); ++ ++void ++weston_seat_release_keyboard(struct weston_seat *seat); ++ ++void ++weston_seat_release_pointer(struct weston_seat *seat); ++ ++void ++weston_seat_release_touch(struct weston_seat *seat); ++ + #ifdef __cplusplus + } + #endif +diff --git a/libweston/libweston-internal.h b/libweston/libweston-internal.h +index 66c38e8..f5c4c2c 100644 +--- a/libweston/libweston-internal.h ++++ b/libweston/libweston-internal.h +@@ -168,44 +168,19 @@ weston_plane_init(struct weston_plane *plane, + void + weston_plane_release(struct weston_plane *plane); + +-/* weston_seat */ +- + struct clipboard * + clipboard_create(struct weston_seat *seat); + +-void +-weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec, +- const char *seat_name); +- +-void +-weston_seat_repick(struct weston_seat *seat); ++/* weston_seat */ + + void +-weston_seat_release(struct weston_seat *seat); ++weston_seat_update_keymap(struct weston_seat *seat, struct xkb_keymap *keymap); + + void + weston_seat_send_selection(struct weston_seat *seat, struct wl_client *client); + + void +-weston_seat_init_pointer(struct weston_seat *seat); +- +-int +-weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap); +- +-void +-weston_seat_init_touch(struct weston_seat *seat); +- +-void +-weston_seat_release_keyboard(struct weston_seat *seat); +- +-void +-weston_seat_release_pointer(struct weston_seat *seat); +- +-void +-weston_seat_release_touch(struct weston_seat *seat); +- +-void +-weston_seat_update_keymap(struct weston_seat *seat, struct xkb_keymap *keymap); ++weston_seat_repick(struct weston_seat *seat); + + void + wl_data_device_set_keyboard_focus(struct weston_seat *seat); +-- +2.28.0 + diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch b/meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch new file mode 100644 index 000000000..cb122590b --- /dev/null +++ b/meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch @@ -0,0 +1,37 @@ +commit 5130a8c21a9deea54e8f7c96a3a5049e2d60a210 +Author: Marius Vlad <marius.vlad@collabora.com> +Date: Thu Jul 30 14:47:32 2020 +0300 + +backend-drm: Correctly tear down the DRM backend + +It seem that we skipped to put back in TEXT mode the tty, in case a DRM +device node wasn't present at that time, or it isn't present at all. This +orders the destroy part correctly as to handle that case as well. + +As a side effect, as the tty will still be set to GRAPHICS mode we will +require a manual change of the tty number, which might be not possible +on all systems. Properly putting back the tty to TEXT mode should avoid +that, and allows to re-use the same tty no in case the DRM device has +been created at a later point in time. + +Upstream-Status: Backport +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +Signed-off-by: Scott Murray <scott.murray@konsulko.com> + +diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c +index 980a12da..1cf61a33 100644 +--- a/libweston/backend-drm/drm.c ++++ b/libweston/backend-drm/drm.c +@@ -3031,10 +3031,10 @@ err_sprite: + destroy_sprites(b); + err_udev_dev: + udev_device_unref(drm_device); +-err_launcher: +- weston_launcher_destroy(compositor->launcher); + err_udev: + udev_unref(b->udev); ++err_launcher: ++ weston_launcher_destroy(compositor->launcher); + err_compositor: + weston_compositor_shutdown(compositor); + free(b); |