summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-02-27 14:43:49 +0100
committerOlivier Fourdan <ofourdan@redhat.com>2023-03-03 19:17:40 +0100
commite1133bcd52889cac541ca9f15c9d516d3a1d1578 (patch)
tree8ab8c7ee54a749249e0221dea0e305f3db11b814
parentfd27fc3f2226fc62cf0af272609291a74e4d85d4 (diff)
downloadxserver-e1133bcd52889cac541ca9f15c9d516d3a1d1578.tar.gz
xwayland: don't fall back to wl_drm with explicit modifier
It's incorrect to strip an explicit modifier. Daniels' docs [1] states: > when importing a buffer, the user may supply `DRM_FORMAT_MOD_INVALID` as the > buffer modifier (or not supply a modifier) to indicate that the modifier is > unknown for whatever reason; this is only acceptable when the buffer has > not been allocated with an explicit modifier [1]: https://lore.kernel.org/dri-devel/20210905122742.86029-1-daniels@collabora.com/ Signed-off-by: Simon Ser <contact@emersion.fr> (cherry picked from commit c6f2598a4e62ea6c0d5244faf1488b20985df908)
-rw-r--r--hw/xwayland/xwayland-glamor-gbm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c
index 2d42bbba3..dcad1df04 100644
--- a/hw/xwayland/xwayland-glamor-gbm.c
+++ b/hw/xwayland/xwayland-glamor-gbm.c
@@ -433,7 +433,7 @@ xwl_glamor_gbm_get_wl_buffer_for_pixmap(PixmapPtr pixmap)
zwp_linux_buffer_params_v1_create_immed(params, width, height,
format, 0);
zwp_linux_buffer_params_v1_destroy(params);
- } else if (num_planes == 1) {
+ } else if (num_planes == 1 && modifier == DRM_FORMAT_MOD_INVALID) {
xwl_pixmap->buffer =
wl_drm_create_prime_buffer(xwl_gbm->drm, prime_fds[0], width, height,
format,