weston/libweston/backend-drm
Leandro Ribeiro 00201e077f drm: avoid dma-buf feedback endless loop
Currently we have the following situation: we add a scanout tranche
because if the client re-allocates with another format/modifier, the
chances of being placed in a DRM/KMS plane is higher.

But then we run out of overlay planes. So we remove the scanout tranche,
because the format/modifier available in the renderer tranche are
optimal for rendering.

Now Weston detects again that the format/modifier is what may be
avoiding the view being place in a plane, re-adding the scanout tranche.
And we have an endless loop.

To avoid this, let's accumulate the reasons why placing the view in a
place failed. So if we detect that we don't have planes available, no
matter the format/modifier, we won't add the scanout tranche.

Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
(cherry picked from commit 2d88b9b03a8f4d32a145ae8e34d90a6a9206d9b0)
2025-08-19 14:35:35 -03:00
..
drm-gbm.c backend-drm: fix confused fallback format handling 2024-04-16 13:25:35 +03:00
drm-internal.h drm: fix a few dma-buf feedback failure reasons 2025-08-19 14:35:23 -03:00
drm-virtual.c libweston/backends: Move damage flush into backends 2024-04-16 13:25:35 +03:00
drm.c backend-drm: Sort planes by faked zpos 2024-04-16 13:25:36 +03:00
fb.c drm: fix issue with enum being wrongly used 2025-08-19 14:35:28 -03:00
kms-color.c Revert "backend-drm: add HDR_OUTPUT_METADATA definitions" 2022-06-07 09:35:14 +01:00
kms.c libweston: Set the presentation clock in the compositor 2023-08-02 11:51:56 +03:00
libbacklight.c libbacklight: Fix backlight never gets initialized 2022-04-11 08:38:00 +03:00
libbacklight.h backend-drm: move into new subdir 2019-05-16 13:32:34 +01:00
meson.build drm-backend: Drop support libgbm older than 21.1.1 2023-08-09 21:45:42 +03:00
modes.c libweston: set default monitor strings 2023-09-15 06:56:59 +00:00
state-helpers.c backend-drm: Pass view alpha to plane state and commit 2023-03-30 17:29:57 +01:00
state-propose.c drm: avoid dma-buf feedback endless loop 2025-08-19 14:35:35 -03:00
vaapi-recorder.c drm/vaapi: Fix pointer-size confusion 2021-08-03 11:13:23 +00:00
vaapi-recorder.h backend-drm: move into new subdir 2019-05-16 13:32:34 +01:00