wsi/x11: support explicit sync

This adds support to the X11 WSI for explicit synchronization using DRM
syncobjs. It relies on versions 1.4 of the DRI3 and Present extensions.

Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27226>
This commit is contained in:
Erik Kurzinger
2024-01-23 18:55:12 -08:00
committed by Marge Bot
parent e637c63239
commit 899263ecfc
5 changed files with 191 additions and 54 deletions

View File

@@ -2066,6 +2066,7 @@ if host_machine.cpu_family() == 'x86_64' and cc.get_id() == 'gcc'
endif
with_dri3_modifiers = false
with_dri3_explicit_sync = false
with_xcb_keysyms = false
if with_platform_x11
if with_glx == 'xlib'
@@ -2109,6 +2110,10 @@ if with_platform_x11
dep_xcb_present.version().version_compare('>= 1.13'))
with_dri3_modifiers = true
endif
if (dep_xcb_dri3.version().version_compare('>= 1.17') and
dep_xcb_present.version().version_compare('>= 1.17'))
with_dri3_explicit_sync = true
endif
dep_xcb_shm = dependency('xcb-shm')
dep_xcb_sync = dependency('xcb-sync')
dep_xshmfence = dependency('xshmfence', version : '>= 1.1')
@@ -2151,6 +2156,9 @@ endif
if with_dri3_modifiers
pre_args += '-DHAVE_DRI3_MODIFIERS'
endif
if with_dri3_explicit_sync
pre_args += '-DHAVE_DRI3_EXPLICIT_SYNC'
endif
if with_gallium_drisw_kms
pre_args += '-DHAVE_DRISW_KMS'
endif