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>
This commit is contained in:
Simon Ser 2023-02-01 15:50:15 +01:00 committed by Olivier Fourdan
parent da0de3caf6
commit f31ca9238f
2 changed files with 10 additions and 1 deletions

View File

@ -307,9 +307,16 @@ xwl_glamor_gbm_create_pixmap_internal(struct xwl_screen *xwl_screen,
&num_modifiers, &modifiers); &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, bo = gbm_bo_create_with_modifiers(xwl_gbm->gbm, width, height,
format, modifiers, num_modifiers); format, modifiers, num_modifiers);
#endif
}
free(modifiers); free(modifiers);
} }
#endif #endif

View File

@ -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) build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 17.1') ? '1' : false)
conf_data.set('GBM_BO_FD_FOR_PLANE', conf_data.set('GBM_BO_FD_FOR_PLANE',
build_glamor and gbm_dep.found() and gbm_dep.version().version_compare('>= 21.1') ? '1' : false) 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('SERVER_MISC_CONFIG_PATH', serverconfigdir)
conf_data.set_quoted('PROJECTROOT', get_option('prefix')) conf_data.set_quoted('PROJECTROOT', get_option('prefix'))