[Mesa-dev] [PATCH v4 0/4] Disable glthread if libX11 isn't thread-safe

Gregory Hainaut gregory.hainaut at gmail.com
Sun May 21 14:59:32 UTC 2017


Hello Mesa developers,

Following the discussion from
https://lists.freedesktop.org/archives/mesa-dev/2017-April/153137.html

A check was added to ensure that X11 display can be locked. It should be enough
to ensure thread safety between X11 and glthread.

I also did the check on DRI3 as I'm not 100% sure that it is really thread safe.

------------------------------------

v2: based on Nicolai/Matt reviews
Add a check on DRI extension version
Use C comments :)

v3: based on Emil reviews
Split the initial first patch into 3 sub patches dri extension / glx / egl
Improve error message
Improve code readability
Just include libX11 on EGL protected by ifdef

v4: based on Eric feedback, I marked DRI3 as always thread safe

Thanks you for all the review comments.

Best regards,

Gregory Hainaut (4):
  dri: Extend __DRIbackgroundCallableExtensionRec to include a callback
    that checks for thread safety
  glx: implement __DRIbackgroundCallableExtension.isThreadSafe
  egl: implement __DRIbackgroundCallableExtension.isThreadSafe
  glthread/gallium: require safe_glthread to start glthread

 include/GL/internal/dri_interface.h          | 11 +++++++++++
 src/egl/drivers/dri2/egl_dri2.c              | 28 +++++++++++++++++++++++++++-
 src/gallium/state_trackers/dri/dri_context.c | 21 +++++++++++++++++----
 src/glx/dri2_glx.c                           | 15 ++++++++++++++-
 src/glx/dri3_glx.c                           | 12 +++++++++++-
 5 files changed, 80 insertions(+), 7 deletions(-)

-- 
2.11.0



More information about the mesa-dev mailing list