diff options
author | Simon Ser <contact@emersion.fr> | 2023-02-01 15:50:15 +0100 |
---|---|---|
committer | Olivier Fourdan <ofourdan@redhat.com> | 2023-04-12 10:44:25 +0200 |
commit | f31ca9238f845a1d9bea5b4410c0597ffe70e8d1 (patch) | |
tree | 95e65a449f879eb00c8355a849373eb76545705c | |
parent | da0de3caf62023d2b507ed3d66a0b0daa7104c4a (diff) | |
download | xserver-f31ca9238f845a1d9bea5b4410c0597ffe70e8d1.tar.gz |
xwayland: use gbm_bo_create_with_modifiers2()
This allows us to pass flags to the function, avoiding the forced
implicit GBM_BO_USE_SCANOUT which happens with the older version.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
-rw-r--r-- | hw/xwayland/xwayland-glamor-gbm.c | 9 | ||||
-rw-r--r-- | include/meson.build | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c index 83318fe62..37633ec96 100644 --- a/hw/xwayland/xwayland-glamor-gbm.c +++ b/hw/xwayland/xwayland-glamor-gbm.c @@ -307,9 +307,16 @@ xwl_glamor_gbm_create_pixmap_internal(struct xwl_screen *xwl_screen, &num_modifiers, &modifiers); } - if (num_modifiers > 0) + if (num_modifiers > 0) { +#ifdef GBM_BO_WITH_MODIFIERS2 + bo = gbm_bo_create_with_modifiers2(xwl_gbm->gbm, width, height, + format, modifiers, num_modifiers, + GBM_BO_USE_RENDERING); +#else bo = gbm_bo_create_with_modifiers(xwl_gbm->gbm, width, height, format, modifiers, num_modifiers); +#endif + } free(modifiers); } #endif diff --git a/include/meson.build b/include/meson.build index f3e160ded..a65bd35b5 100644 --- a/include/meson.build +++ b/include/meson.build @@ -115,6 +115,8 @@ conf_data.set('GBM_BO_WITH_MODIFIERS', build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 17.1') ? '1' : false) conf_data.set('GBM_BO_FD_FOR_PLANE', build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 21.1') ? '1' : false) +conf_data.set('GBM_BO_WITH_MODIFIERS2', + build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 21.3') ? '1' : false) conf_data.set_quoted('SERVER_MISC_CONFIG_PATH', serverconfigdir) conf_data.set_quoted('PROJECTROOT', get_option('prefix')) |