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 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
