backend-drm: Don't try to steal other-output special planes

Each output is hardcoded to the use of a single 'special' (primary or
cursor) plane; make sure we don't try to steal them from other outputs
which might not be happy to discover that we've taken it off them.

Signed-off-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
Daniel Stone 2021-12-07 16:20:29 +00:00
parent 075c4ac286
commit d5ec9a1a1d

View file

@ -697,6 +697,16 @@ drm_output_prepare_plane_view(struct drm_output_state *state,
/* assemble a list with possible candidates */
wl_list_for_each(plane, &b->plane_list, link) {
if (plane->type == WDRM_PLANE_TYPE_CURSOR &&
plane != output->cursor_plane) {
continue;
}
if (plane->type == WDRM_PLANE_TYPE_PRIMARY &&
plane != output->scanout_plane) {
continue;
}
if (!drm_plane_is_available(plane, output))
continue;