From d87c74b1ff5e2fb7602da34d0664289780c514db Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 8 Nov 2022 11:01:32 -0500 Subject: weston: handle upgrade to 11.0 Changes: - Renamed local bbappend for weston to handle upstream upgrade to 11.0.0. - The local PACKAGECONFIG definitions have been removed as they are now present upstream. - Removed backported patch. Bug-AGL: SPEC-4578 Signed-off-by: Scott Murray Change-Id: I3dc3c7042bf2ce8058df30ccd691232bf1d2a442 --- ...-make-sure-all-buffers-are-released-when-.patch | 71 ---------------------- 1 file changed, 71 deletions(-) delete mode 100644 meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch (limited to 'meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch') diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch deleted file mode 100644 index fc2f35bd6..000000000 --- a/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 6d9e9dfa0479abc0ed7921a4ebf42228c0da7533 Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Wed, 22 Jun 2022 08:58:21 +0200 -Subject: [PATCH] backend-drm: make sure all buffers are released when an - output is removed - -When an output is destroyed then the output state is freed immediately. In this -case, the plane state is only partially destroyed because it is the currently -active state. This includes the buffer reference. - -Without the output, the plane will not be updated any more until it is used by a -different output (if possible) or the output returns and the plane is used -again. -As a result, the buffer reference is kept for a long time. This will cause some -applications to stall because weston now keeps two buffers (the one here and -another one for a different output where the application is now displayed). - -To avoid this, do a synchronous commit that disables the output. The output -needs to be disabled anyways and this way the current state contains no -buffers that would remain. - -`device->state_invalid = true` in drm_output_detach_crtc() is no longer -needed, because drm_output_detach_crtc() is called only when initialization -failed and the crtc was not yet used or in drm_output_deinit() when the -crtc was already disabled with the new synchronous commit. - -Signed-off-by: Michael Olbrich -(cherry picked from commit f5a4fb5abcb8aeb6b078b6235834cc4ab6176c26) - -Upstream-Status: Pending - ---- - libweston/backend-drm/drm.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c -index 42787702..8425b0e9 100644 ---- a/libweston/backend-drm/drm.c -+++ b/libweston/backend-drm/drm.c -@@ -1769,14 +1769,11 @@ drm_output_attach_crtc(struct drm_output *output) - static void - drm_output_detach_crtc(struct drm_output *output) - { -- struct drm_backend *b = output->backend; - struct drm_crtc *crtc = output->crtc; - - crtc->output = NULL; - output->crtc = NULL; - -- /* Force resetting unused CRTCs */ -- b->state_invalid = true; - } - - static int -@@ -1839,6 +1836,13 @@ drm_output_deinit(struct weston_output *base) - { - struct drm_output *output = to_drm_output(base); - struct drm_backend *b = to_drm_backend(base->compositor); -+ struct drm_pending_state *pending; -+ -+ if (!b->shutting_down) { -+ pending = drm_pending_state_alloc(b); -+ drm_output_get_disable_state(pending, output); -+ drm_pending_state_apply_sync(pending); -+ } - - if (b->use_pixman) - drm_output_fini_pixman(output); --- -2.39.2 - -- cgit 1.2.3-korg