diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-11-08 11:01:32 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2024-04-24 12:29:35 -0400 |
commit | 3d9975cfe1973c1c02bc8c274c50645f72ea708d (patch) | |
tree | 0080e2575d1efbcc78b80f189970aa6adcfcf220 /meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch | |
parent | 2f1298383c1fba5121dfeeff1f31ae4004703dae (diff) |
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 <scott.murray@konsulko.com>
Change-Id: I3dc3c7042bf2ce8058df30ccd691232bf1d2a442
Diffstat (limited to 'meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch')
-rw-r--r-- | meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch | 71 |
1 files changed, 0 insertions, 71 deletions
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 <m.olbrich@pengutronix.de> -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 <m.olbrich@pengutronix.de> -(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 - |