diff options
-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')) |