From 32521fe5ebaf54a7c78a81647cc0e248a4a03087 Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
Date: Wed, 22 Jan 2020 13:48:13 -0500
Subject: [PATCH] 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 <scott.murray@konsulko.com>
---
 ...-rework-goto-labels-to-avoid-memory-leaks.patch |  57 -----
 .../weston/0002-ivi-shell-removed-assert.patch     |  11 -
 ...-ivi-shell-introduction-of-IVI_INVALID_ID.patch |  20 --
 ...face-added-interface-to-change-surface-id.patch |  73 ------
 ...yout-introcuded-configure_desktop_changed.patch |  74 ------
 ...t-introcuded-surface_create_and_configure.patch | 117 ----------
 ...inked-libweston-desktop-and-added-structs.patch |  74 ------
 ...ayout-use-libweston-desktop-api-for-views.patch |  30 ---
 ...dded-libweston-desktop-api_implementation.patch | 166 --------------
 ...ivi-shell-remove-surface_destroy_listener.patch |  24 --
 ...l-create-weston-desktop-in_wet_shell_init.patch |  30 ---
 ...r-register-for-desktop_surface_configured.patch | 133 -----------
 ...simple-egl-remove-ivi-application-support.patch | 165 -------------
 ...simple-shm-remove-ivi-application-support.patch | 107 ---------
 ...dow-client-remove-ivi-application-support.patch | 130 -----------
 ...mpositor-add-output-type-to-weston_output.patch | 254 ---------------------
 ...tor-drm-introduce-drm_get_dmafd_from_view.patch | 109 ---------
 ...-get-stride-from-drm_get_dma_fd_from_view.patch |  59 -----
 .../recipes-graphics/wayland/weston_5.0.0.bbappend |  27 ---
 19 files changed, 1660 deletions(-)
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch
 delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend

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 <stdint.h>
-+#include <limits.h>
- 
- #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 <stdint.h>
- 
- #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 <sys/types.h>
- #include <unistd.h>
--#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 <sys/types.h>
--#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 <sys/types.h>
--#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 <external.vkadasani@jp.adit-jv.com>
-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 <external.vkadasani@jp.adit-jv.com>
----
- 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 <external.vkadasani@jp.adit-jv.com>
-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 <external.vkadasani@jp.adit-jv.com>
----
- 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 <external.vkadasani@jp.adit-jv.com>
-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 <external.vkadasani@jp.adit-jv.com>
----
- 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"
-- 
2.16.6