summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/xwayland/xwayland-glamor-gbm.c9
-rw-r--r--include/meson.build2
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'))