drm: Fix underlay test

We need to reset the underlay check inside the view evaluation loop,
otherwise once we need an underlay we'll treat every following view as
needing an underlay.

Fixes: 1065d23406 ("backend-drm: Improve plane assignment for underlay platform")
Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
(cherry picked from commit 8dbb3e17d0)
This commit is contained in:
Derek Foreman 2024-12-03 11:32:16 -06:00 committed by Marius Vlad
parent 9eb44254a7
commit 11f20fa8e4

View file

@ -669,7 +669,6 @@ drm_output_propose_state(struct weston_output *output_base,
pixman_region32_t occluded_region;
bool renderer_ok = (mode != DRM_OUTPUT_PROPOSE_STATE_PLANES_ONLY);
bool need_underlay = false;
int ret;
/* Record the current lowest zpos of the overlay planes */
uint64_t current_lowest_zpos_overlay = DRM_PLANE_ZPOS_INVALID_PLANE;
@ -762,6 +761,7 @@ drm_output_propose_state(struct weston_output *output_base,
pixman_region32_t clipped_view;
pixman_region32_t surface_overlap;
bool totally_occluded = false;
bool need_underlay = false;
drm_debug(b, "\t\t\t[view] evaluating view %p for "
"output %s (%lu)\n",