Hello, this is a follow-up of the thread "per-screen client-side glx extensions". In addition to those changes the attached patch also removes __glXRegisterGLXFunction and __glXAddExtension. Therefore __driRegisterExtensions is no longer necessary and corresponding infrastructure was removed from dri_glx.c.
In order to avoid binary compatibility problems the remaining functions that are exported to the drivers were renamed. With the attached patch the old drivers do still compile and should still work. But they won't be able to dynamically enable extensions until they are updated as well. I still see one issue in glxextensions.c. __glXGLXClientExtensions is set by __glXGetClientExtensions. After that __glxScrEnable/DisableExtension are disabled. I believe that this is incorrect as __glXScrEnable/DisableExtension don't change the return value of glXGetClientString but the value of glXQueryExtensionsString. Therefore the first call to __glXGetUsableExtensions should disable __glXScrEnable/DisableExtensions instead. Regards, Felix ------------ __\|/__ ___ ___ ------------------------- Felix ___\_e -_/___/ __\___/ __\_____ You can do anything, Kühling (_____\Ä/____/ /_____/ /________) just not everything [EMAIL PROTECTED] \___/ \___/ U at the same time.
glxextensions2.patch
Description: Binary data