aboutsummaryrefslogtreecommitdiff
path: root/backend/drm/drm.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-01-17 22:25:18 +0100
committerSimon Ser <contact@emersion.fr>2021-01-17 22:25:18 +0100
commit04d89a8bc5c5b0db0ae24ca3e2b35f5632ed6d23 (patch)
tree905e4ca2f7741742dfa51162364336a6beda25bf /backend/drm/drm.c
parentf17b0f975d271a2c001627fe47af9a5b8800c774 (diff)
backend/drm: fix modifiers for cursor plane buffers
In 93cd3a79b26c ("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: 93cd3a79b26c ("backend/drm: stop using GBM flags")
Diffstat (limited to 'backend/drm/drm.c')
-rw-r--r--backend/drm/drm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 99520143..32fbb35b 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -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;
}