[PATCH xserver 00/13] GLX 1.4 cleanup and GLX_EXT_libglvnd

Adam Jackson ajax at redhat.com
Wed Mar 23 22:46:42 UTC 2016


The previous series didn't quite do what I expected, because xwin and
xquartz didn't set the extension enable bits the same way as DRI. This
series moves the enable bits into the common GLX screen data, fixes the
default enable state to apply to all backends, and moves more of the
setup boilerplate code into the core.

The last patch finishes support for GLX_EXT_libglvnd by returning a
vendor library string in glXQueryServerString. This is to enable libglvnd
to select the correct implementation for applications that address multiple
GL screens (or displays). At the moment this extension is only exposed for
non-OSX and non-Windows builds, as libglvnd really isn't functional there.
The swrast backend simply hardcodes the vendor to mesa. The DRI2 backend
allows you to override the vendor string with Option "GlxVendorLibrary"
in xorg.conf, in either the Device or Screen sections.

 glx/extension_string.c       |    5 +-
 glx/extension_string.h       |    1 
 glx/glxcmds.c                |   22 +++++----
 glx/glxdri2.c                |   83 +++++++++++++++-------------------
 glx/glxdriswrast.c           |   39 +++++-----------
 glx/glxext.c                 |    2 
 glx/glxscreens.c             |   44 +++++-------------
 glx/glxscreens.h             |   16 +-----
 hw/xfree86/man/xorg.conf.man |    6 ++
 hw/xquartz/GL/indirect.c     |   40 +---------------
 hw/xwin/glx/indirect.c       |  102 ++++++++-----------------------------------
 11 files changed, 114 insertions(+), 246 deletions(-)

- ajax



More information about the xorg-devel mailing list