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>
dev
Daniel Stone 3 years ago
parent 075c4ac286
commit d5ec9a1a1d
  1. 10
      libweston/backend-drm/state-propose.c

@ -697,6 +697,16 @@ drm_output_prepare_plane_view(struct drm_output_state *state,
/* assemble a list with possible candidates */ /* assemble a list with possible candidates */
wl_list_for_each(plane, &b->plane_list, link) { 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)) if (!drm_plane_is_available(plane, output))
continue; continue;

Loading…
Cancel
Save