backend/drm: fix modifiers for cursor plane buffers

In 93cd3a79b2 ("backend/drm: stop using GBM flags"), we stopped
using the GBM_BO_USE_LINEAR flag in favor of a modifier list set
to { DRM_FORMAT_MOD_LINEAR }. However, the last argument of
drm_plane_init_surface disables modifiers -- so the buffer will just
get allocated with an implicit modifier, without necessarily being
LINEAR.

To fix this, allow modifiers when allocating the cursor buffers.
wlr_drm_plane.formats should already have the necessary LINEAR
restrictions.

Fixes: 93cd3a79b2 ("backend/drm: stop using GBM flags")
master
Simon Ser 4 years ago
parent f17b0f975d
commit 04d89a8bc5
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48

@ -891,7 +891,7 @@ static bool drm_connector_set_cursor(struct wlr_output *output,
h = ret ? 64 : h;
if (!drm_plane_init_surface(plane, drm, w, h,
DRM_FORMAT_ARGB8888, false)) {
DRM_FORMAT_ARGB8888, true)) {
wlr_drm_conn_log(conn, WLR_ERROR, "Cannot allocate cursor resources");
return false;
}

Loading…
Cancel
Save