xserver: Branch 'server-1.20-branch'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jul 3 10:59:12 UTC 2020


 hw/xwayland/xwayland-glamor-gbm.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit fc297c87d6755c11380a44e3510689cc76eb1ee1
Author: Simon Ser <contact at emersion.fr>
Date:   Mon May 4 18:20:17 2020 +0200

    xwayland: import DMA-BUFs with GBM_BO_USE_RENDERING only
    
    Drop GBM_BO_USE_SCANOUT from the GBM_BO_IMPORT_FD import, add
    GBM_BO_USE_RENDERING to the GBM_BO_IMPORT_FD_MODIFIER import.
    
    If the DMA-BUF cannot be scanned out, gbm_bo_import with
    GBM_BO_USE_SCANOUT will fail. However Xwayland doesn't need to scan-out
    the buffer and can work fine without scanout. Glamor only needs
    GBM_BO_USE_RENDERING.
    
    Signed-off-by: Simon Ser <contact at emersion.fr>
    Reviewed-by: Michel Dänzer <mdaenzer at redhat.com>
    Reviewed-by: Daniel Stone <daniels at collabora.com>
    (cherry picked from commit 421ce458f1d295015c108eb32f9611e527649cf8)

diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c
index dce782fc3..4f590cd43 100644
--- a/hw/xwayland/xwayland-glamor-gbm.c
+++ b/hw/xwayland/xwayland-glamor-gbm.c
@@ -501,7 +501,8 @@ glamor_pixmap_from_fds(ScreenPtr screen, CARD8 num_fds, const int *fds,
           data.strides[i] = strides[i];
           data.offsets[i] = offsets[i];
        }
-       bo = gbm_bo_import(xwl_gbm->gbm, GBM_BO_IMPORT_FD_MODIFIER, &data, 0);
+       bo = gbm_bo_import(xwl_gbm->gbm, GBM_BO_IMPORT_FD_MODIFIER, &data,
+                          GBM_BO_USE_RENDERING);
 #endif
     } else if (num_fds == 1) {
        struct gbm_import_fd_data data;
@@ -512,7 +513,7 @@ glamor_pixmap_from_fds(ScreenPtr screen, CARD8 num_fds, const int *fds,
        data.stride = strides[0];
        data.format = gbm_format_for_depth(depth);
        bo = gbm_bo_import(xwl_gbm->gbm, GBM_BO_IMPORT_FD, &data,
-             GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
+                          GBM_BO_USE_RENDERING);
     } else {
        goto error;
     }


More information about the xorg-commit mailing list