From: Scott Murray Date: Wed, 22 Jan 2020 18:48:13 +0000 (-0500) Subject: meta-agl-profile-graphical: remove weston 5.0.0 patches X-Git-Tag: 9.99.1~106^2~39 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F61%2F23661%2F1;p=AGL%2Fmeta-agl.git meta-agl-profile-graphical: remove weston 5.0.0 patches Remove weston 5.0.0 patches and associated bbappend since there is no longer a weston 5.0.0 recipe in-tree to apply against. Bug-AGL: SPEC-2932 Change-Id: I033286c4214313b8cb665cdb8e0bf1d388cb696e Signed-off-by: Scott Murray --- diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch deleted file mode 100644 index b1e0b8a59..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index 58f53bc5..34cdce27 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -484,13 +484,14 @@ wet_shell_init(struct weston_compositor *compositor, - int *argc, char *argv[]) - { - struct ivi_shell *shell; -- int retval = -1; - - shell = zalloc(sizeof *shell); - if (shell == NULL) -- return -1; -+ goto err_shell; - - init_ivi_shell(compositor, shell); -+ /* TODO deinit_ivi_shell should be implemented, since init_ivi_shell is -+ * initializing multiple lists. */ - - shell->destroy_listener.notify = shell_destroy; - wl_signal_add(&compositor->destroy_signal, &shell->destroy_listener); -@@ -499,22 +500,29 @@ wet_shell_init(struct weston_compositor *compositor, - wl_signal_add(&compositor->wake_signal, &shell->wake_listener); - - if (input_panel_setup(shell) < 0) -- goto out; -+ goto err_shell; - - shell->text_backend = text_backend_init(compositor); - if (!shell->text_backend) -- goto out; -+ goto err_shell; - - if (wl_global_create(compositor->wl_display, - &ivi_application_interface, 1, - shell, bind_ivi_application) == NULL) -- goto out; -+ goto err_text_backend; - - ivi_layout_init_with_compositor(compositor); -+ /* TODO ivi_layout_destroy should be implemented, since multiple lists -+ * and signals are initialized.*/ - shell_add_bindings(compositor, shell); - -- retval = 0; -+ return IVI_SUCCEEDED; - --out: -- return retval; -+err_text_backend: -+ text_backend_destroy(shell->text_backend); -+ -+err_shell: -+ free(shell); -+ -+ return IVI_FAILED; - } diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch deleted file mode 100644 index 4507e769c..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch +++ /dev/null @@ -1,11 +0,0 @@ -index e9ddf9a4..f3156d35 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -114,7 +114,6 @@ shell_surface_send_configure(struct weston_surface *surface, - struct ivi_shell_surface *shsurf; - - shsurf = get_ivi_shell_surface(surface); -- assert(shsurf); - if (!shsurf) - return; - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch deleted file mode 100644 index 9f696d8a2..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h -index 016d8b5c..02bfb2cb 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -56,6 +56,7 @@ extern "C" { - #endif /* __cplusplus */ - - #include -+#include - - #include "stdbool.h" - #include "compositor.h" -@@ -63,6 +64,7 @@ extern "C" { - - #define IVI_SUCCEEDED (0) - #define IVI_FAILED (-1) -+#define IVI_INVALID_ID UINT_MAX - - struct ivi_layout_layer; - struct ivi_layout_screen; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch deleted file mode 100644 index 6401c5b81..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch +++ /dev/null @@ -1,73 +0,0 @@ -index e1e897ed..5b1f12f0 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -320,6 +320,12 @@ struct ivi_layout_interface { - struct ivi_layout_surface *ivisurf, - uint32_t duration); - -+ /** -+ * \brief set id of ivi_layout_surface -+ */ -+ int32_t (*surface_set_id)(struct ivi_layout_surface *ivisurf, -+ uint32_t id_surface); -+ - /** - * layer controller interface - */ -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index 298e18ea..fa8e75f6 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1901,6 +1901,44 @@ ivi_layout_surface_set_transition_duration(struct ivi_layout_surface *ivisurf, - return 0; - } - -+/* -+ * This interface enables e.g. an id agent to set the id of an ivi-layout -+ * surface, that has been created by a desktop application. This can only be -+ * done once as long as the initial surface id equals IVI_INVALID_ID. Afterwards -+ * two events are emitted, namely surface_created and surface_configured. -+ */ -+static int32_t -+ivi_layout_surface_set_id(struct ivi_layout_surface *ivisurf, -+ uint32_t id_surface) -+{ -+ struct ivi_layout *layout = get_instance(); -+ struct ivi_layout_surface *search_ivisurf = NULL; -+ -+ if (!ivisurf) { -+ weston_log("%s: invalid argument\n", __func__); -+ return IVI_FAILED; -+ } -+ -+ if (ivisurf->id_surface != IVI_INVALID_ID) { -+ weston_log("surface id can only be set once\n"); -+ return IVI_FAILED; -+ } -+ -+ search_ivisurf = get_surface(&layout->surface_list, id_surface); -+ if (search_ivisurf) { -+ weston_log("id_surface(%d) is already created\n", id_surface); -+ return IVI_FAILED; -+ } -+ -+ ivisurf->id_surface = id_surface; -+ -+ wl_signal_emit(&layout->surface_notification.created, ivisurf); -+ wl_signal_emit(&layout->surface_notification.configure_changed, -+ ivisurf); -+ -+ return IVI_SUCCEEDED; -+} -+ - static int32_t - ivi_layout_surface_set_transition(struct ivi_layout_surface *ivisurf, - enum ivi_layout_transition_type type, -@@ -2058,6 +2096,7 @@ static struct ivi_layout_interface ivi_layout_interface = { - .surface_get_weston_surface = ivi_layout_surface_get_weston_surface, - .surface_set_transition = ivi_layout_surface_set_transition, - .surface_set_transition_duration = ivi_layout_surface_set_transition_duration, -+ .surface_set_id = ivi_layout_surface_set_id, - - /** - * layer controller interfaces diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch deleted file mode 100644 index ddd949e35..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch +++ /dev/null @@ -1,74 +0,0 @@ -index 5b1f12f0..dd0997aa 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -187,6 +187,16 @@ struct ivi_layout_interface { - */ - int32_t (*add_listener_configure_surface)(struct wl_listener *listener); - -+ /** -+ * \brief add a listener for notification when desktop_surface is configured -+ * -+ * When an desktop_surface is configured, a signal is emitted -+ * to the listening controller plugins. -+ * The pointer of the configured desktop_surface is sent as the void *data argument -+ * to the wl_listener::notify callback function of the listener. -+ */ -+ int32_t (*add_listener_configure_desktop_surface)(struct wl_listener *listener); -+ - /** - * \brief Get all ivi_surfaces which are currently registered and managed - * by the services -diff --git a/ivi-shell/ivi-layout-private.h b/ivi-shell/ivi-layout-private.h -index 2b8bd472..fe5be01a 100644 ---- a/ivi-shell/ivi-layout-private.h -+++ b/ivi-shell/ivi-layout-private.h -@@ -104,6 +104,7 @@ struct ivi_layout { - struct wl_signal created; - struct wl_signal removed; - struct wl_signal configure_changed; -+ struct wl_signal configure_desktop_changed; - } surface_notification; - - struct weston_layer layout_layer; -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index fa8e75f6..690af742 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1040,6 +1040,21 @@ ivi_layout_add_listener_configure_surface(struct wl_listener *listener) - return IVI_SUCCEEDED; - } - -+static int32_t -+ivi_layout_add_listener_configure_desktop_surface(struct wl_listener *listener) -+{ -+ struct ivi_layout *layout = get_instance(); -+ -+ if (!listener) { -+ weston_log("ivi_layout_add_listener_configure_desktop_surface: invalid argument\n"); -+ return IVI_FAILED; -+ } -+ -+ wl_signal_add(&layout->surface_notification.configure_desktop_changed, listener); -+ -+ return IVI_SUCCEEDED; -+} -+ - uint32_t - ivi_layout_get_id_of_surface(struct ivi_layout_surface *ivisurf) - { -@@ -2057,6 +2072,7 @@ ivi_layout_init_with_compositor(struct weston_compositor *ec) - wl_signal_init(&layout->surface_notification.created); - wl_signal_init(&layout->surface_notification.removed); - wl_signal_init(&layout->surface_notification.configure_changed); -+ wl_signal_init(&layout->surface_notification.configure_desktop_changed); - - /* Add layout_layer at the last of weston_compositor.layer_list */ - weston_layer_init(&layout->layout_layer, ec); -@@ -2081,6 +2097,7 @@ static struct ivi_layout_interface ivi_layout_interface = { - .add_listener_create_surface = ivi_layout_add_listener_create_surface, - .add_listener_remove_surface = ivi_layout_add_listener_remove_surface, - .add_listener_configure_surface = ivi_layout_add_listener_configure_surface, -+ .add_listener_configure_desktop_surface = ivi_layout_add_listener_configure_desktop_surface, - .get_surface = shell_get_ivi_layout_surface, - .get_surfaces = ivi_layout_get_surfaces, - .get_id_of_surface = ivi_layout_get_id_of_surface, diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch deleted file mode 100644 index 04461a1d4..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch +++ /dev/null @@ -1,117 +0,0 @@ -index 68ca68ba..c86cbb11 100644 ---- a/ivi-shell/ivi-layout-shell.h -+++ b/ivi-shell/ivi-layout-shell.h -@@ -39,6 +39,14 @@ struct weston_view; - struct weston_surface; - struct ivi_layout_surface; - -+void -+ivi_layout_desktop_surface_configure(struct ivi_layout_surface *ivisurf, -+ int32_t width, int32_t height); -+ -+struct ivi_layout_surface* -+ivi_layout_desktop_surface_create(struct weston_surface *wl_surface, -+ uint32_t id_surface); -+ - void - ivi_layout_surface_configure(struct ivi_layout_surface *ivisurf, - int32_t width, int32_t height); -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index 690af742..086d0fd2 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1995,20 +1995,8 @@ ivi_layout_surface_dump(struct weston_surface *surface, - * methods of interaction between ivi-shell with ivi-layout - */ - --void --ivi_layout_surface_configure(struct ivi_layout_surface *ivisurf, -- int32_t width, int32_t height) --{ -- struct ivi_layout *layout = get_instance(); -- -- /* emit callback which is set by ivi-layout api user */ -- wl_signal_emit(&layout->surface_notification.configure_changed, -- ivisurf); --} -- --struct ivi_layout_surface* --ivi_layout_surface_create(struct weston_surface *wl_surface, -- uint32_t id_surface) -+static struct ivi_layout_surface* -+surface_create(struct weston_surface *wl_surface, uint32_t id_surface) - { - struct ivi_layout *layout = get_instance(); - struct ivi_layout_surface *ivisurf = NULL; -@@ -2018,14 +2006,6 @@ ivi_layout_surface_create(struct weston_surface *wl_surface, - return NULL; - } - -- ivisurf = get_surface(&layout->surface_list, id_surface); -- if (ivisurf != NULL) { -- if (ivisurf->surface != NULL) { -- weston_log("id_surface(%d) is already created\n", id_surface); -- return NULL; -- } -- } -- - ivisurf = calloc(1, sizeof *ivisurf); - if (ivisurf == NULL) { - weston_log("fails to allocate memory\n"); -@@ -2049,7 +2029,55 @@ ivi_layout_surface_create(struct weston_surface *wl_surface, - - wl_list_insert(&layout->surface_list, &ivisurf->link); - -- wl_signal_emit(&layout->surface_notification.created, ivisurf); -+ return ivisurf; -+} -+ -+void -+ivi_layout_desktop_surface_configure(struct ivi_layout_surface *ivisurf, -+ int32_t width, int32_t height) -+{ -+ struct ivi_layout *layout = get_instance(); -+ -+ /* emit callback which is set by ivi-layout api user */ -+ wl_signal_emit(&layout->surface_notification.configure_desktop_changed, -+ ivisurf); -+} -+ -+struct ivi_layout_surface* -+ivi_layout_desktop_surface_create(struct weston_surface *wl_surface, -+ uint32_t id_surface) -+{ -+ return surface_create(wl_surface, id_surface); -+} -+ -+void -+ivi_layout_surface_configure(struct ivi_layout_surface *ivisurf, -+ int32_t width, int32_t height) -+{ -+ struct ivi_layout *layout = get_instance(); -+ -+ /* emit callback which is set by ivi-layout api user */ -+ wl_signal_emit(&layout->surface_notification.configure_changed, -+ ivisurf); -+} -+ -+struct ivi_layout_surface* -+ivi_layout_surface_create(struct weston_surface *wl_surface, -+ uint32_t id_surface) -+{ -+ struct ivi_layout *layout = get_instance(); -+ struct ivi_layout_surface *ivisurf = NULL; -+ -+ ivisurf = get_surface(&layout->surface_list, id_surface); -+ if (ivisurf) { -+ weston_log("id_surface(%d) is already created\n", id_surface); -+ return NULL; -+ } -+ -+ ivisurf = surface_create(wl_surface, id_surface); -+ -+ if (ivisurf) -+ wl_signal_emit(&layout->surface_notification.created, ivisurf); - - return ivisurf; - } diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch deleted file mode 100644 index 9286ba00b..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index cdf82ab4..d990d400 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -993,6 +993,7 @@ ivi_shell_la_LDFLAGS = -module -avoid-version - ivi_shell_la_LIBADD = \ - libshared.la \ - libweston-@LIBWESTON_MAJOR@.la \ -+ libweston-desktop-@LIBWESTON_MAJOR@.la \ - $(COMPOSITOR_LIBS) - ivi_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) - ivi_shell_la_SOURCES = \ -diff --git a/ivi-shell/ivi-layout-private.h b/ivi-shell/ivi-layout-private.h -index fe5be01a..c054130b 100644 ---- a/ivi-shell/ivi-layout-private.h -+++ b/ivi-shell/ivi-layout-private.h -@@ -30,6 +30,7 @@ - - #include "compositor.h" - #include "ivi-layout-export.h" -+#include "libweston-desktop/libweston-desktop.h" - - struct ivi_layout_view { - struct wl_list link; /* ivi_layout::view_list */ -@@ -52,6 +53,7 @@ struct ivi_layout_surface { - - struct ivi_layout *layout; - struct weston_surface *surface; -+ struct weston_desktop_surface *weston_desktop_surface; - - struct ivi_layout_surface_properties prop; - -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index f3156d35..84db2c97 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -44,7 +44,7 @@ - - #include "ivi-shell.h" - #include "ivi-application-server-protocol.h" --#include "ivi-layout-export.h" -+#include "ivi-layout-private.h" - #include "ivi-layout-shell.h" - #include "shared/helpers.h" - #include "compositor/weston.h" -@@ -271,6 +271,8 @@ application_surface_create(struct wl_client *client, - return; - } - -+ layout_surface->weston_desktop_surface = NULL; -+ - ivisurf = zalloc(sizeof *ivisurf); - if (ivisurf == NULL) { - wl_resource_post_no_memory(resource); -diff --git a/ivi-shell/ivi-shell.h b/ivi-shell/ivi-shell.h -index e35f75f2..be430853 100644 ---- a/ivi-shell/ivi-shell.h -+++ b/ivi-shell/ivi-shell.h -@@ -30,6 +30,7 @@ - #include - - #include "compositor.h" -+#include "libweston-desktop/libweston-desktop.h" - - struct ivi_shell - { -@@ -37,6 +38,7 @@ struct ivi_shell - - struct weston_compositor *compositor; - -+ struct weston_desktop *desktop; - struct wl_list ivi_surface_list; /* struct ivi_shell_surface::link */ - - struct text_backend *text_backend; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch deleted file mode 100644 index e53a8c458..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch +++ /dev/null @@ -1,30 +0,0 @@ -index 086d0fd2..6b854503 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -153,7 +153,10 @@ ivi_view_destroy(struct ivi_layout_view *ivi_view) - wl_list_remove(&ivi_view->pending_link); - wl_list_remove(&ivi_view->order_link); - -- weston_view_destroy(ivi_view->view); -+ if (weston_surface_is_desktop_surface(ivi_view->ivisurf->surface)) -+ weston_desktop_surface_unlink_view(ivi_view->view); -+ else -+ weston_view_destroy(ivi_view->view); - - free(ivi_view); - } -@@ -170,7 +173,13 @@ ivi_view_create(struct ivi_layout_layer *ivilayer, - return NULL; - } - -- ivi_view->view = weston_view_create(ivisurf->surface); -+ if (weston_surface_is_desktop_surface(ivisurf->surface)) { -+ ivi_view->view = weston_desktop_surface_create_view( -+ ivisurf->weston_desktop_surface); -+ } else { -+ ivi_view->view = weston_view_create(ivisurf->surface); -+ } -+ - if (ivi_view->view == NULL) { - weston_log("fails to allocate memory\n"); - free(ivi_view); diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch deleted file mode 100644 index 6a72f15d8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch +++ /dev/null @@ -1,166 +0,0 @@ -index 84db2c97..e797e4f9 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -489,6 +489,162 @@ shell_add_bindings(struct weston_compositor *compositor, - shell); - } - -+/* -+ * libweston-desktop -+ */ -+ -+static void -+desktop_surface_ping_timeout(struct weston_desktop_client *client, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_ping_timeout is not supported\n"); -+} -+ -+static void -+desktop_surface_pong(struct weston_desktop_client *client, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_pong is not supported\n"); -+} -+ -+static void -+desktop_surface_added(struct weston_desktop_surface *surface, -+ void *user_data) -+{ -+ struct ivi_shell *shell = (struct ivi_shell *) user_data; -+ struct ivi_layout_surface *layout_surface; -+ struct ivi_shell_surface *ivisurf; -+ struct weston_surface *weston_surf = -+ weston_desktop_surface_get_surface(surface); -+ -+ layout_surface = ivi_layout_desktop_surface_create(weston_surf, -+ IVI_INVALID_ID); -+ if (!layout_surface) { -+ return; -+ } -+ -+ layout_surface->weston_desktop_surface = surface; -+ -+ ivisurf = zalloc(sizeof *ivisurf); -+ if (!ivisurf) { -+ return; -+ } -+ -+ ivisurf->shell = shell; -+ ivisurf->id_surface = IVI_INVALID_ID; -+ -+ ivisurf->width = 0; -+ ivisurf->height = 0; -+ ivisurf->layout_surface = layout_surface; -+ ivisurf->surface = weston_surf; -+ -+ weston_desktop_surface_set_user_data(surface, ivisurf); -+} -+ -+static void -+desktop_surface_removed(struct weston_desktop_surface *surface, -+ void *user_data) -+{ -+ struct ivi_shell_surface *ivisurf = (struct ivi_shell_surface *) -+ weston_desktop_surface_get_user_data(surface); -+ -+ assert(ivisurf != NULL); -+ -+ if (ivisurf->layout_surface) -+ layout_surface_cleanup(ivisurf); -+} -+ -+static void -+desktop_surface_committed(struct weston_desktop_surface *surface, -+ int32_t sx, int32_t sy, void *user_data) -+{ -+ struct ivi_shell_surface *ivisurf = (struct ivi_shell_surface *) -+ weston_desktop_surface_get_user_data(surface); -+ struct weston_surface *weston_surf = -+ weston_desktop_surface_get_surface(surface); -+ -+ if(!ivisurf) -+ return; -+ -+ if (weston_surf->width == 0 || weston_surf->height == 0) -+ return; -+ -+ if (ivisurf->width != weston_surf->width || -+ ivisurf->height != weston_surf->height) { -+ ivisurf->width = weston_surf->width; -+ ivisurf->height = weston_surf->height; -+ -+ ivi_layout_desktop_surface_configure(ivisurf->layout_surface, -+ weston_surf->width, -+ weston_surf->height); -+ } -+} -+ -+static void -+desktop_surface_move(struct weston_desktop_surface *surface, -+ struct weston_seat *seat, uint32_t serial, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_move is not supported\n"); -+} -+ -+static void -+desktop_surface_resize(struct weston_desktop_surface *surface, -+ struct weston_seat *seat, uint32_t serial, -+ enum weston_desktop_surface_edge edges, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_resize is not supported\n"); -+} -+ -+static void -+desktop_surface_fullscreen_requested(struct weston_desktop_surface *surface, -+ bool fullscreen, -+ struct weston_output *output, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_fullscreen_requested is not supported\n"); -+} -+ -+static void -+desktop_surface_maximized_requested(struct weston_desktop_surface *surface, -+ bool maximized, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_maximized_requested is not supported\n"); -+} -+ -+static void -+desktop_surface_minimized_requested(struct weston_desktop_surface *surface, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_minimized_requested is not supported\n"); -+} -+ -+static void -+desktop_surface_set_xwayland_position(struct weston_desktop_surface *surface, -+ int32_t x, int32_t y, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_set_xwayland_position is not supported\n"); -+} -+ -+static const struct weston_desktop_api shell_desktop_api = { -+ .struct_size = sizeof(struct weston_desktop_api), -+ .ping_timeout = desktop_surface_ping_timeout, -+ .pong = desktop_surface_pong, -+ .surface_added = desktop_surface_added, -+ .surface_removed = desktop_surface_removed, -+ .committed = desktop_surface_committed, -+ -+ .move = desktop_surface_move, -+ .resize = desktop_surface_resize, -+ .fullscreen_requested = desktop_surface_fullscreen_requested, -+ .maximized_requested = desktop_surface_maximized_requested, -+ .minimized_requested = desktop_surface_minimized_requested, -+ .set_xwayland_position = desktop_surface_set_xwayland_position, -+}; -+ -+/* -+ * end of libweston-desktop -+ */ -+ - /* - * Initialization of ivi-shell. - */ diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch deleted file mode 100644 index b76c35d4f..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch +++ /dev/null @@ -1,24 +0,0 @@ -index e797e4f9..5f64e72d 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -162,6 +162,10 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf) - { - assert(ivisurf->layout_surface != NULL); - -+ /* destroy weston_surface destroy signal. */ -+ if (!ivisurf->layout_surface->weston_desktop_surface) -+ wl_list_remove(&ivisurf->surface_destroy_listener.link); -+ - ivi_layout_surface_destroy(ivisurf->layout_surface); - ivisurf->layout_surface = NULL; - -@@ -169,9 +173,6 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf) - ivisurf->surface->committed_private = NULL; - weston_surface_set_label_func(ivisurf->surface, NULL); - ivisurf->surface = NULL; -- -- // destroy weston_surface destroy signal. -- wl_list_remove(&ivisurf->surface_destroy_listener.link); - } - - /* diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch deleted file mode 100644 index f6256f782..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index b0a2a2b9..a889afdb 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -664,10 +664,14 @@ wet_shell_init(struct weston_compositor *compositor, - if (!shell->text_backend) - goto err_shell; - -+ shell->desktop = weston_desktop_create(compositor, &shell_desktop_api, shell); -+ if (!shell->desktop) -+ goto err_text_backend; -+ - if (wl_global_create(compositor->wl_display, - &ivi_application_interface, 1, - shell, bind_ivi_application) == NULL) -- goto err_text_backend; -+ goto err_desktop; - - ivi_layout_init_with_compositor(compositor); - /* TODO ivi_layout_destroy should be implemented, since multiple lists -@@ -676,6 +680,9 @@ wet_shell_init(struct weston_compositor *compositor, - - return IVI_SUCCEEDED; - -+err_desktop: -+ weston_desktop_destroy(shell->desktop); -+ - err_text_backend: - text_backend_destroy(shell->text_backend); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch deleted file mode 100644 index 447cff4f8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch +++ /dev/null @@ -1,133 +0,0 @@ -diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c -index a0e49ba0..340d1915 100644 ---- a/ivi-shell/hmi-controller.c -+++ b/ivi-shell/hmi-controller.c -@@ -129,9 +129,9 @@ struct hmi_controller { - struct weston_compositor *compositor; - struct wl_listener destroy_listener; - -- struct wl_listener surface_created; - struct wl_listener surface_removed; - struct wl_listener surface_configured; -+ struct wl_listener desktop_surface_configured; - - struct wl_client *user_interface; - struct ui_setting ui_setting; -@@ -576,28 +576,6 @@ create_layer(struct weston_output *output, - /** - * Internal set notification - */ --static void --set_notification_create_surface(struct wl_listener *listener, void *data) --{ -- struct hmi_controller *hmi_ctrl = -- wl_container_of(listener, hmi_ctrl, -- surface_created); -- struct ivi_layout_surface *ivisurf = data; -- struct hmi_controller_layer *layer_link = -- wl_container_of(hmi_ctrl->application_layer_list.prev, -- layer_link, -- link); -- struct ivi_layout_layer *application_layer = layer_link->ivilayer; -- int32_t ret = 0; -- -- /* skip ui widgets */ -- if (is_surf_in_ui_widget(hmi_ctrl, ivisurf)) -- return; -- -- ret = hmi_ctrl->interface->layer_add_surface(application_layer, ivisurf); -- assert(!ret); --} -- - static void - set_notification_remove_surface(struct wl_listener *listener, void *data) - { -@@ -665,6 +643,42 @@ set_notification_configure_surface(struct wl_listener *listener, void *data) - switch_mode(hmi_ctrl, hmi_ctrl->layout_mode); - } - -+static void -+set_notification_configure_desktop_surface(struct wl_listener *listener, void *data) -+{ -+ struct hmi_controller *hmi_ctrl = -+ wl_container_of(listener, hmi_ctrl, -+ desktop_surface_configured); -+ struct ivi_layout_surface *ivisurf = data; -+ struct hmi_controller_layer *layer_link = -+ wl_container_of(hmi_ctrl->application_layer_list.prev, -+ layer_link, -+ link); -+ struct ivi_layout_layer *application_layer = layer_link->ivilayer; -+ struct weston_surface *surface; -+ int32_t ret = 0; -+ -+ /* skip ui widgets */ -+ if (is_surf_in_ui_widget(hmi_ctrl, ivisurf)) -+ return; -+ -+ ret = hmi_ctrl->interface->layer_add_surface(application_layer, ivisurf); -+ assert(!ret); -+ -+ /* -+ * if application changes size of wl_buffer. The source rectangle shall be -+ * fit to the size. -+ */ -+ surface = hmi_ctrl->interface->surface_get_weston_surface(ivisurf); -+ if (surface) { -+ hmi_ctrl->interface->surface_set_source_rectangle(ivisurf, 0, -+ 0, surface->width, surface->height); -+ } -+ -+ hmi_ctrl->interface->commit_changes(); -+ switch_mode(hmi_ctrl, hmi_ctrl->layout_mode); -+} -+ - /** - * A hmi_controller used 4 ivi_layers to manage ivi_surfaces. The IDs of - * corresponding ivi_layer are defined in weston.ini. Default scene graph -@@ -868,6 +882,9 @@ hmi_controller_create(struct weston_compositor *ec) - hmi_ctrl->surface_configured.notify = set_notification_configure_surface; - hmi_ctrl->interface->add_listener_configure_surface(&hmi_ctrl->surface_configured); - -+ hmi_ctrl->desktop_surface_configured.notify = set_notification_configure_desktop_surface; -+ hmi_ctrl->interface->add_listener_configure_desktop_surface(&hmi_ctrl->desktop_surface_configured); -+ - hmi_ctrl->destroy_listener.notify = hmi_controller_destroy; - wl_signal_add(&hmi_ctrl->compositor->destroy_signal, - &hmi_ctrl->destroy_listener); -@@ -1289,12 +1306,6 @@ ivi_hmi_controller_UI_ready(struct wl_client *client, - - ivi_hmi_controller_add_launchers(hmi_ctrl, 256); - -- /* Add surface_created listener after the initialization of launchers. -- * Otherwise, surfaces of the launchers will be added to application -- * layer too.*/ -- hmi_ctrl->surface_created.notify = set_notification_create_surface; -- hmi_ctrl->interface->add_listener_create_surface(&hmi_ctrl->surface_created); -- - hmi_ctrl->is_initialized = 1; - } - -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index b06bf309..ef354d49 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -715,9 +715,15 @@ commit_surface_list(struct ivi_layout *layout) - ivisurf->pending.prop.transition_type = IVI_LAYOUT_TRANSITION_NONE; - - if (configured && !is_surface_transition(ivisurf)) { -- shell_surface_send_configure(ivisurf->surface, -- ivisurf->prop.dest_width, -- ivisurf->prop.dest_height); -+ if (ivisurf->weston_desktop_surface) { -+ weston_desktop_surface_set_size(ivisurf->weston_desktop_surface, -+ ivisurf->prop.dest_width, -+ ivisurf->prop.dest_height); -+ } else { -+ shell_surface_send_configure(ivisurf->surface, -+ ivisurf->prop.dest_width, -+ ivisurf->prop.dest_height); -+ } - } - } else { - configured = 0; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch deleted file mode 100644 index 036b14cbc..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch +++ /dev/null @@ -1,165 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 17c053e6..e0d3cb78 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -609,9 +609,7 @@ demo_clients += weston-simple-egl - weston_simple_egl_SOURCES = clients/simple-egl.c - nodist_weston_simple_egl_SOURCES = \ - protocol/xdg-shell-unstable-v6-protocol.c \ -- protocol/xdg-shell-unstable-v6-client-protocol.h \ -- protocol/ivi-application-protocol.c \ -- protocol/ivi-application-client-protocol.h -+ protocol/xdg-shell-unstable-v6-client-protocol.h - weston_simple_egl_CFLAGS = $(AM_CFLAGS) $(SIMPLE_EGL_CLIENT_CFLAGS) - weston_simple_egl_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm - endif -diff --git a/clients/simple-egl.c b/clients/simple-egl.c -index a1e57aef..936e015e 100644 ---- a/clients/simple-egl.c -+++ b/clients/simple-egl.c -@@ -45,8 +45,6 @@ - #include "xdg-shell-unstable-v6-client-protocol.h" - #include - #include --#include "ivi-application-client-protocol.h" --#define IVI_SURFACE_ID 9000 - - #include "shared/helpers.h" - #include "shared/platform.h" -@@ -74,7 +72,6 @@ struct display { - EGLConfig conf; - } egl; - struct window *window; -- struct ivi_application *ivi_application; - - PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC swap_buffers_with_damage; - }; -@@ -97,7 +94,6 @@ struct window { - struct wl_surface *surface; - struct zxdg_surface_v6 *xdg_surface; - struct zxdg_toplevel_v6 *xdg_toplevel; -- struct ivi_surface *ivi_surface; - EGLSurface egl_surface; - struct wl_callback *callback; - int fullscreen, maximized, opaque, buffer_size, frame_sync, delay; -@@ -359,27 +355,22 @@ static const struct zxdg_toplevel_v6_listener xdg_toplevel_listener = { - }; - - static void --handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, -- int32_t width, int32_t height) -+create_surface(struct window *window) - { -- struct window *window = data; -- -- wl_egl_window_resize(window->native, width, height, 0, 0); -- -- window->geometry.width = width; -- window->geometry.height = height; -+ struct display *display = window->display; -+ EGLBoolean ret; - -- if (!window->fullscreen) -- window->window_size = window->geometry; --} -+ window->surface = wl_compositor_create_surface(display->compositor); - --static const struct ivi_surface_listener ivi_surface_listener = { -- handle_ivi_surface_configure, --}; -+ window->native = -+ wl_egl_window_create(window->surface, -+ window->geometry.width, -+ window->geometry.height); -+ window->egl_surface = -+ weston_platform_create_egl_surface(display->egl.dpy, -+ display->egl.conf, -+ window->native, NULL); - --static void --create_xdg_surface(struct window *window, struct display *display) --{ - window->xdg_surface = zxdg_shell_v6_get_xdg_surface(display->shell, - window->surface); - zxdg_surface_v6_add_listener(window->xdg_surface, -@@ -394,50 +385,6 @@ create_xdg_surface(struct window *window, struct display *display) - - window->wait_for_configure = true; - wl_surface_commit(window->surface); --} -- --static void --create_ivi_surface(struct window *window, struct display *display) --{ -- uint32_t id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); -- window->ivi_surface = -- ivi_application_surface_create(display->ivi_application, -- id_ivisurf, window->surface); -- -- if (window->ivi_surface == NULL) { -- fprintf(stderr, "Failed to create ivi_client_surface\n"); -- abort(); -- } -- -- ivi_surface_add_listener(window->ivi_surface, -- &ivi_surface_listener, window); --} -- --static void --create_surface(struct window *window) --{ -- struct display *display = window->display; -- EGLBoolean ret; -- -- window->surface = wl_compositor_create_surface(display->compositor); -- -- window->native = -- wl_egl_window_create(window->surface, -- window->geometry.width, -- window->geometry.height); -- window->egl_surface = -- weston_platform_create_egl_surface(display->egl.dpy, -- display->egl.conf, -- window->native, NULL); -- -- -- if (display->shell) { -- create_xdg_surface(window, display); -- } else if (display->ivi_application ) { -- create_ivi_surface(window, display); -- } else { -- assert(0); -- } - - ret = eglMakeCurrent(window->display->egl.dpy, window->egl_surface, - window->egl_surface, window->display->egl.ctx); -@@ -469,8 +416,6 @@ destroy_surface(struct window *window) - zxdg_toplevel_v6_destroy(window->xdg_toplevel); - if (window->xdg_surface) - zxdg_surface_v6_destroy(window->xdg_surface); -- if (window->display->ivi_application) -- ivi_surface_destroy(window->ivi_surface); - wl_surface_destroy(window->surface); - - if (window->callback) -@@ -825,10 +770,6 @@ registry_handle_global(void *data, struct wl_registry *registry, - fprintf(stderr, "unable to load default left pointer\n"); - // TODO: abort ? - } -- } else if (strcmp(interface, "ivi_application") == 0) { -- d->ivi_application = -- wl_registry_bind(registry, name, -- &ivi_application_interface, 1); - } - } - -@@ -943,9 +884,6 @@ main(int argc, char **argv) - if (display.shell) - zxdg_shell_v6_destroy(display.shell); - -- if (display.ivi_application) -- ivi_application_destroy(display.ivi_application); -- - if (display.compositor) - wl_compositor_destroy(display.compositor); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch deleted file mode 100644 index 495e50ca2..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch +++ /dev/null @@ -1,107 +0,0 @@ -index f9c8010b..c37cd00b 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -574,9 +574,7 @@ nodist_weston_simple_shm_SOURCES = \ - protocol/xdg-shell-unstable-v6-protocol.c \ - protocol/xdg-shell-unstable-v6-client-protocol.h \ - protocol/fullscreen-shell-unstable-v1-protocol.c \ -- protocol/fullscreen-shell-unstable-v1-client-protocol.h \ -- protocol/ivi-application-protocol.c \ -- protocol/ivi-application-client-protocol.h -+ protocol/fullscreen-shell-unstable-v1-client-protocol.h - weston_simple_shm_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS) - weston_simple_shm_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la - -diff --git a/clients/simple-shm.c b/clients/simple-shm.c -index 9fa2e214..fc2ef001 100644 ---- a/clients/simple-shm.c -+++ b/clients/simple-shm.c -@@ -40,10 +40,6 @@ - #include "xdg-shell-unstable-v6-client-protocol.h" - #include "fullscreen-shell-unstable-v1-client-protocol.h" - --#include --#include "ivi-application-client-protocol.h" --#define IVI_SURFACE_ID 9000 -- - struct display { - struct wl_display *display; - struct wl_registry *registry; -@@ -52,7 +48,6 @@ struct display { - struct zwp_fullscreen_shell_v1 *fshell; - struct wl_shm *shm; - bool has_xrgb; -- struct ivi_application *ivi_application; - }; - - struct buffer { -@@ -67,7 +62,6 @@ struct window { - struct wl_surface *surface; - struct zxdg_surface_v6 *xdg_surface; - struct zxdg_toplevel_v6 *xdg_toplevel; -- struct ivi_surface *ivi_surface; - struct buffer buffers[2]; - struct buffer *prev_buffer; - struct wl_callback *callback; -@@ -165,17 +159,6 @@ static const struct zxdg_toplevel_v6_listener xdg_toplevel_listener = { - handle_xdg_toplevel_close, - }; - --static void --handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, -- int32_t width, int32_t height) --{ -- /* Simple-shm is resizable */ --} -- --static const struct ivi_surface_listener ivi_surface_listener = { -- handle_ivi_surface_configure, --}; -- - static struct window * - create_window(struct display *display, int width, int height) - { -@@ -213,19 +196,6 @@ create_window(struct display *display, int width, int height) - window->surface, - ZWP_FULLSCREEN_SHELL_V1_PRESENT_METHOD_DEFAULT, - NULL); -- } else if (display->ivi_application ) { -- uint32_t id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); -- window->ivi_surface = -- ivi_application_surface_create(display->ivi_application, -- id_ivisurf, window->surface); -- if (window->ivi_surface == NULL) { -- fprintf(stderr, "Failed to create ivi_client_surface\n"); -- abort(); -- } -- -- ivi_surface_add_listener(window->ivi_surface, -- &ivi_surface_listener, window); -- - } else { - assert(0); - } -@@ -407,11 +377,6 @@ registry_handle_global(void *data, struct wl_registry *registry, - id, &wl_shm_interface, 1); - wl_shm_add_listener(d->shm, &shm_listener, d); - } -- else if (strcmp(interface, "ivi_application") == 0) { -- d->ivi_application = -- wl_registry_bind(registry, id, -- &ivi_application_interface, 1); -- } - } - - static void -@@ -555,11 +520,6 @@ main(int argc, char **argv) - - fprintf(stderr, "simple-shm exiting\n"); - -- if (window->display->ivi_application) { -- ivi_surface_destroy(window->ivi_surface); -- ivi_application_destroy(window->display->ivi_application); -- } -- - destroy_window(window); - destroy_display(display); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch deleted file mode 100644 index f3d2fe47f..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch +++ /dev/null @@ -1,130 +0,0 @@ -index c37cd00b..f30ddbe9 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -665,8 +665,6 @@ nodist_libtoytoolkit_la_SOURCES = \ - protocol/viewporter-client-protocol.h \ - protocol/xdg-shell-unstable-v6-protocol.c \ - protocol/xdg-shell-unstable-v6-client-protocol.h \ -- protocol/ivi-application-protocol.c \ -- protocol/ivi-application-client-protocol.h \ - protocol/pointer-constraints-unstable-v1-protocol.c \ - protocol/pointer-constraints-unstable-v1-client-protocol.h \ - protocol/relative-pointer-unstable-v1-protocol.c \ -diff --git a/clients/window.c b/clients/window.c -index 95796d46..aac43abd 100644 ---- a/clients/window.c -+++ b/clients/window.c -@@ -82,10 +82,6 @@ typedef void *EGLContext; - - #include "window.h" - --#include --#include "ivi-application-client-protocol.h" --#define IVI_SURFACE_ID 9000 -- - #define ZWP_RELATIVE_POINTER_MANAGER_V1_VERSION 1 - #define ZWP_POINTER_CONSTRAINTS_V1_VERSION 1 - -@@ -107,7 +103,6 @@ struct display { - struct wl_data_device_manager *data_device_manager; - struct text_cursor_position *text_cursor_position; - struct zxdg_shell_v6 *xdg_shell; -- struct ivi_application *ivi_application; /* ivi style shell */ - struct zwp_relative_pointer_manager_v1 *relative_pointer_manager; - struct zwp_pointer_constraints_v1 *pointer_constraints; - EGLDisplay dpy; -@@ -269,8 +264,6 @@ struct window { - struct window *parent; - struct window *last_parent; - -- struct ivi_surface *ivi_surface; -- - struct window_frame *frame; - - /* struct surface::link, contains also main_surface */ -@@ -1441,19 +1434,6 @@ window_get_display(struct window *window) - return window->display; - } - --static void --handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, -- int32_t width, int32_t height) --{ -- struct window *window = data; -- -- window_schedule_resize(window, width, height); --} -- --static const struct ivi_surface_listener ivi_surface_listener = { -- handle_ivi_surface_configure, --}; -- - static void - surface_create_surface(struct surface *surface, uint32_t flags) - { -@@ -1604,9 +1584,6 @@ window_destroy(struct window *window) - if (window->xdg_surface) - zxdg_surface_v6_destroy(window->xdg_surface); - -- if (window->ivi_surface) -- ivi_surface_destroy(window->ivi_surface); -- - surface_destroy(window->main_surface); - - wl_list_remove(&window->link); -@@ -5200,7 +5177,7 @@ window_create_internal(struct display *display, int custom) - surface = surface_create(window); - window->main_surface = surface; - -- assert(custom || display->xdg_shell || display->ivi_application); -+ assert(custom || display->xdg_shell); - - window->custom = custom; - window->preferred_format = WINDOW_PREFERRED_FORMAT_NONE; -@@ -5220,7 +5197,6 @@ struct window * - window_create(struct display *display) - { - struct window *window; -- uint32_t id_ivisurf; - - window = window_create_internal(display, 0); - -@@ -5243,16 +5219,6 @@ window_create(struct display *display) - window_inhibit_redraw(window); - - wl_surface_commit(window->main_surface->surface); -- } else if (display->ivi_application) { -- /* auto generation of ivi_id based on process id + basement of id */ -- id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); -- window->ivi_surface = -- ivi_application_surface_create(display->ivi_application, -- id_ivisurf, window->main_surface->surface); -- fail_on_null(window->ivi_surface, 0, __FILE__, __LINE__); -- -- ivi_surface_add_listener(window->ivi_surface, -- &ivi_surface_listener, window); - } - - return window; -@@ -6013,11 +5979,6 @@ registry_handle_global(void *data, struct wl_registry *registry, uint32_t id, - wl_registry_bind(registry, id, - &wl_subcompositor_interface, 1); - } -- else if (strcmp(interface, "ivi_application") == 0) { -- d->ivi_application = -- wl_registry_bind(registry, id, -- &ivi_application_interface, 1); -- } - - if (d->global_handler) - d->global_handler(d, id, interface, version, d->user_data); -@@ -6316,9 +6277,6 @@ display_destroy(struct display *display) - if (display->xdg_shell) - zxdg_shell_v6_destroy(display->xdg_shell); - -- if (display->ivi_application) -- ivi_application_destroy(display->ivi_application); -- - if (display->shm) - wl_shm_destroy(display->shm); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch deleted file mode 100644 index 6b93b06e8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch +++ /dev/null @@ -1,254 +0,0 @@ -From 8ea60075d5310101bebedf09c94902e9d41432ac Mon Sep 17 00:00:00 2001 -From: Veeresh Kadasani -Date: Mon, 29 Jul 2019 17:04:12 +0900 -Subject: [PATCH 1/3] compositor: add output type to weston_output - -This enables weston to use multiple types of backend -Each backends have own output structure for each functions -To avoid invalid member access, type identifier is needed - -Signed-off-by: Veeresh Kadasani ---- - libweston/compositor-drm.c | 78 +++++++++++++++++++++++------------------ - libweston/compositor-fbdev.c | 2 +- - libweston/compositor-headless.c | 2 +- - libweston/compositor-rdp.c | 2 +- - libweston/compositor-wayland.c | 2 +- - libweston/compositor-x11.c | 2 +- - libweston/compositor.h | 12 ++++++- - 7 files changed, 60 insertions(+), 40 deletions(-) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 3891176..26a480c 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -843,8 +843,9 @@ drm_output_find_by_crtc(struct drm_backend *b, uint32_t crtc_id) - struct drm_output *output; - - wl_list_for_each(output, &b->compositor->output_list, base.link) { -- if (output->crtc_id == crtc_id) -- return output; -+ if(output->base.output_type == OUTPUT_DRM) -+ if (output->crtc_id == crtc_id) -+ return output; - } - - return NULL; -@@ -859,7 +860,8 @@ drm_head_find_by_connector(struct drm_backend *backend, uint32_t connector_id) - wl_list_for_each(base, - &backend->compositor->head_list, compositor_link) { - head = to_drm_head(base); -- if (head->connector_id == connector_id) -+ if(base->output->output_type == OUTPUT_DRM) -+ if (head->connector_id == connector_id) - return head; - } - -@@ -5728,6 +5730,7 @@ drm_output_enable(struct weston_output *base) - drmModeRes *resources; - int ret; - -+ output->base.output_type = OUTPUT_DRM; - resources = drmModeGetResources(b->drm.fd); - if (!resources) { - weston_log("drmModeGetResources failed\n"); -@@ -6188,23 +6191,25 @@ drm_backend_update_heads(struct drm_backend *b, struct udev_device *drm_device) - /* Remove connectors that have disappeared. */ - wl_list_for_each_safe(base, next, - &b->compositor->head_list, compositor_link) { -- bool removed = true; -+ if (base->output->output_type == OUTPUT_DRM) { -+ bool removed = true; - -- head = to_drm_head(base); -+ head = to_drm_head(base); - -- for (i = 0; i < resources->count_connectors; i++) { -- if (resources->connectors[i] == head->connector_id) { -- removed = false; -- break; -- } -- } -+ for (i = 0; i < resources->count_connectors; i++) { -+ if (resources->connectors[i] == head->connector_id) { -+ removed = false; -+ break; -+ } -+ } - -- if (!removed) -- continue; -+ if (!removed) -+ continue; - -- weston_log("DRM: head '%s' (connector %d) disappeared.\n", -- head->base.name, head->connector_id); -- drm_head_destroy(head); -+ weston_log("DRM: head '%s' (connector %d) disappeared.\n", -+ head->base.name, head->connector_id); -+ drm_head_destroy(head); -+ } - } - - drm_backend_update_unused_outputs(b, resources); -@@ -6309,23 +6314,26 @@ session_notify(struct wl_listener *listener, void *data) - * pending frame callbacks. */ - - wl_list_for_each(output, &compositor->output_list, base.link) { -- output->base.repaint_needed = false; -- if (output->cursor_plane) -- drmModeSetCursor(b->drm.fd, output->crtc_id, -- 0, 0, 0); -+ if(output->base.output_type == OUTPUT_DRM) { -+ output->base.repaint_needed = false; -+ if (output->cursor_plane) -+ drmModeSetCursor(b->drm.fd, output->crtc_id, -+ 0, 0, 0); -+ } - } -- -- output = container_of(compositor->output_list.next, -- struct drm_output, base.link); -- -- wl_list_for_each(plane, &b->plane_list, link) { -- if (plane->type != WDRM_PLANE_TYPE_OVERLAY) -- continue; -- -- drmModeSetPlane(b->drm.fd, -- plane->plane_id, -- output->crtc_id, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0); -+ if(output->base.output_type == OUTPUT_DRM) { -+ output = container_of(compositor->output_list.next, -+ struct drm_output, base.link); -+ -+ wl_list_for_each(plane, &b->plane_list, link) { -+ if (plane->type != WDRM_PLANE_TYPE_OVERLAY) -+ continue; -+ -+ drmModeSetPlane(b->drm.fd, -+ plane->plane_id, -+ output->crtc_id, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0); -+ } - } - } - } -@@ -6649,7 +6657,8 @@ switch_to_gl_renderer(struct drm_backend *b) - } - - wl_list_for_each(output, &b->compositor->output_list, base.link) -- pixman_renderer_output_destroy(&output->base); -+ if(output->base.output_type == OUTPUT_DRM) -+ pixman_renderer_output_destroy(&output->base); - - b->compositor->renderer->destroy(b->compositor); - -@@ -6661,7 +6670,8 @@ switch_to_gl_renderer(struct drm_backend *b) - } - - wl_list_for_each(output, &b->compositor->output_list, base.link) -- drm_output_init_egl(output, b); -+ if(output->base.output_type == OUTPUT_DRM) -+ drm_output_init_egl(output, b); - - b->use_pixman = 0; - -diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c -index a71b7bd..8edb50b 100644 ---- a/libweston/compositor-fbdev.c -+++ b/libweston/compositor-fbdev.c -@@ -501,7 +501,7 @@ fbdev_output_enable(struct weston_output *base) - struct fbdev_head *head; - int fb_fd; - struct wl_event_loop *loop; -- -+ output->base.output_type = OUTPUT_FBDEV; - head = fbdev_output_get_head(output); - - /* Create the frame buffer. */ -diff --git a/libweston/compositor-headless.c b/libweston/compositor-headless.c -index 61a5bd9..f633cd7 100644 ---- a/libweston/compositor-headless.c -+++ b/libweston/compositor-headless.c -@@ -159,7 +159,7 @@ headless_output_enable(struct weston_output *base) - loop = wl_display_get_event_loop(b->compositor->wl_display); - output->finish_frame_timer = - wl_event_loop_add_timer(loop, finish_frame_handler, output); -- -+ output->base.output_type = OUTPUT_HEADLESS; - if (b->use_pixman) { - output->image_buf = malloc(output->base.current_mode->width * - output->base.current_mode->height * 4); -diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c -index 134e729..429370c 100644 ---- a/libweston/compositor-rdp.c -+++ b/libweston/compositor-rdp.c -@@ -554,7 +554,7 @@ rdp_output_enable(struct weston_output *base) - struct rdp_output *output = to_rdp_output(base); - struct rdp_backend *b = to_rdp_backend(base->compositor); - struct wl_event_loop *loop; -- -+ output->base.output_type = OUTPUT_RDP; - output->shadow_surface = pixman_image_create_bits(PIXMAN_x8r8g8b8, - output->base.current_mode->width, - output->base.current_mode->height, -diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c -index e80ecc1..808fc8f 100644 ---- a/libweston/compositor-wayland.c -+++ b/libweston/compositor-wayland.c -@@ -1221,7 +1221,7 @@ wayland_output_enable(struct weston_output *base) - struct wayland_backend *b = to_wayland_backend(base->compositor); - enum mode_status mode_status; - int ret = 0; -- -+ output->base.output_type = OUTPUT_WAYLAND; - weston_log("Creating %dx%d wayland output at (%d, %d)\n", - output->base.current_mode->width, - output->base.current_mode->height, -diff --git a/libweston/compositor-x11.c b/libweston/compositor-x11.c -index 4a9d068..afbaa73 100644 ---- a/libweston/compositor-x11.c -+++ b/libweston/compositor-x11.c -@@ -933,7 +933,7 @@ x11_output_enable(struct weston_output *base) - XCB_EVENT_MASK_STRUCTURE_NOTIFY, - 0 - }; -- -+ output->base.output_type = OUTPUT_X11; - if (!b->no_input) - values[0] |= - XCB_EVENT_MASK_KEY_PRESS | -diff --git a/libweston/compositor.h b/libweston/compositor.h -index 8b7a102..60feda3 100644 ---- a/libweston/compositor.h -+++ b/libweston/compositor.h -@@ -169,6 +169,16 @@ enum dpms_enum { - WESTON_DPMS_OFF - }; - -+/* bit compatible with drm definitions. */ -+enum output_type { -+ OUTPUT_DRM, -+ OUTPUT_FBDEV, -+ OUTPUT_HEADLESS, -+ OUTPUT_RDP, -+ OUTPUT_WAYLAND, -+ OUTPUT_X11, -+ OUTPUT_WALTHAM -+}; - /** Represents a monitor - * - * This object represents a monitor (hardware backends like DRM) or a window -@@ -201,7 +211,7 @@ struct weston_head { - struct weston_output { - uint32_t id; - char *name; -- -+ enum output_type output_type; - /** Matches the lifetime from the user perspective */ - struct wl_signal user_destroy_signal; - --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch deleted file mode 100644 index 6fb963fb1..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 020508b35b2bf6c89d62961eb95e2f81d6381ab5 Mon Sep 17 00:00:00 2001 -From: Veeresh Kadasani -Date: Mon, 29 Jul 2019 17:07:00 +0900 -Subject: [PATCH 2/3] compositor-drm: introduce drm_get_dmafd_from_view - -This API enables to get dmafd from weston_view - -Signed-off-by: Veeresh Kadasani ---- - libweston/compositor-drm.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++ - libweston/compositor-drm.h | 7 ++++++ - 2 files changed, 64 insertions(+) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 26a480c..2b99db5 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -5420,6 +5420,62 @@ drm_output_set_seat(struct weston_output *base, - } - - static int -+drm_get_dma_fd_from_view(struct weston_output *base, -+ struct weston_view *ev) -+{ -+ struct drm_backend *b = to_drm_backend(base->compositor); -+ struct weston_buffer *buffer = ev->surface->buffer_ref.buffer; -+ struct gbm_bo *bo; -+ struct drm_fb *current; -+ struct linux_dmabuf_buffer *dmabuf; -+ bool is_opaque = drm_view_is_opaque(ev); -+ uint32_t format; -+ int fd, ret; -+ -+ if(!buffer) { -+ weston_log("buffer is NULL\n"); -+ return -1; -+ } -+ -+ if(dmabuf = linux_dmabuf_buffer_get(buffer->resource)) { -+ current = drm_fb_get_from_dmabuf(dmabuf, b, is_opaque); -+ if (!current) -+ { -+ fprintf(stderr, "failed to get drm_fb from dmabuf\n"); -+ return -1; -+ } -+ } -+ else if(ev->surface->buffer_ref.buffer->legacy_buffer) { -+ bo = gbm_bo_import(b->gbm, GBM_BO_IMPORT_WL_BUFFER, -+ buffer->resource, GBM_BO_USE_SCANOUT); -+ if (!bo) { -+ weston_log("failed to get gbm_bo\n"); -+ return -1; -+ } -+ current = drm_fb_get_from_bo(bo, b, is_opaque, BUFFER_CLIENT); -+ -+ if (!current) { -+ weston_log("failed to get drm_fb from bo\n"); -+ return -1; -+ } -+ -+ } -+ else { -+ weston_log("Buffer is not supported\n"); -+ return -1; -+ } -+ -+ ret = drmPrimeHandleToFD(b->drm.fd, current->handles[0], -+ DRM_CLOEXEC, &fd); -+ free(current); -+ if (ret) { -+ weston_log("failed to create prime fd for front buffer\n"); -+ return -1; -+ } -+ -+ return fd; -+} -+static int - drm_output_init_gamma_size(struct drm_output *output) - { - struct drm_backend *backend = to_drm_backend(output->base.compositor); -@@ -6696,6 +6752,7 @@ static const struct weston_drm_output_api api = { - drm_output_set_mode, - drm_output_set_gbm_format, - drm_output_set_seat, -+ drm_get_dma_fd_from_view, - }; - - static struct drm_backend * -diff --git a/libweston/compositor-drm.h b/libweston/compositor-drm.h -index 9c37c15..a82a2a9 100644 ---- a/libweston/compositor-drm.h -+++ b/libweston/compositor-drm.h -@@ -78,6 +78,13 @@ struct weston_drm_output_api { - */ - void (*set_seat)(struct weston_output *output, - const char *seat); -+ -+ /** Get the dma fd from drm view. -+ * -+ * The dma fd is got from weston_view. -+ * Returns fd on success, -1 on failure. -+ */ -+ int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view); - }; - - static inline const struct weston_drm_output_api * --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch deleted file mode 100644 index e2655d120..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0dac780379228396a19048544b9e53d5aa407583 Mon Sep 17 00:00:00 2001 -From: Veeresh Kadasani -Date: Mon, 29 Jul 2019 17:08:31 +0900 -Subject: [PATCH 3/3] compositor-drm: get stride from drm_get_dma_fd_from_view - -Modify drm_get_dma_fd_from_view to get buffer stride. - -Signed-off-by: Veeresh Kadasani ---- - libweston/compositor-drm.c | 5 +++-- - libweston/compositor-drm.h | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 2b99db5..ec2765f 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -5421,7 +5421,7 @@ drm_output_set_seat(struct weston_output *base, - - static int - drm_get_dma_fd_from_view(struct weston_output *base, -- struct weston_view *ev) -+ struct weston_view *ev, int *buf_stride) - { - struct drm_backend *b = to_drm_backend(base->compositor); - struct weston_buffer *buffer = ev->surface->buffer_ref.buffer; -@@ -5444,6 +5444,7 @@ drm_get_dma_fd_from_view(struct weston_output *base, - fprintf(stderr, "failed to get drm_fb from dmabuf\n"); - return -1; - } -+ *buf_stride=current->strides[0]; - } - else if(ev->surface->buffer_ref.buffer->legacy_buffer) { - bo = gbm_bo_import(b->gbm, GBM_BO_IMPORT_WL_BUFFER, -@@ -5458,7 +5459,7 @@ drm_get_dma_fd_from_view(struct weston_output *base, - weston_log("failed to get drm_fb from bo\n"); - return -1; - } -- -+ *buf_stride=current->strides[0]; - } - else { - weston_log("Buffer is not supported\n"); -diff --git a/libweston/compositor-drm.h b/libweston/compositor-drm.h -index a82a2a9..c2461b3 100644 ---- a/libweston/compositor-drm.h -+++ b/libweston/compositor-drm.h -@@ -84,7 +84,7 @@ struct weston_drm_output_api { - * The dma fd is got from weston_view. - * Returns fd on success, -1 on failure. - */ -- int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view); -+ int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view, int *buf_stride); - }; - - static inline const struct weston_drm_output_api * --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend deleted file mode 100644 index 108cca83f..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" - -SRC_URI_append = "\ - file://0001-Allow-regular-users-to-launch-Weston_2.0.0.patch \ - file://0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch \ - file://0002-ivi-shell-removed-assert.patch \ - file://0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch \ - file://0004-layout-interface-added-interface-to-change-surface-id.patch \ - file://0005-ivi-layout-introcuded-configure_desktop_changed.patch \ - file://0006-ivi-layout-introcuded-surface_create_and_configure.patch \ - file://0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch \ - file://0008-ivi-layout-use-libweston-desktop-api-for-views.patch \ - file://0009-ivi-shell-added-libweston-desktop-api_implementation.patch \ - file://0010-ivi-shell-remove-surface_destroy_listener.patch \ - file://0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch \ - file://0012-hmi-controller-register-for-desktop_surface_configured.patch \ - file://0013-simple-egl-remove-ivi-application-support.patch \ - file://0014-simple-shm-remove-ivi-application-support.patch \ - file://0015-window-client-remove-ivi-application-support.patch \ - file://use-XDG_RUNTIMESHARE_DIR.patch \ - file://0016-compositor-add-output-type-to-weston_output.patch \ - file://0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch \ - file://0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch \ - " - - -EXTRA_OECONF_append = " --enable-sys-uid"