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.

Attachment: glxextensions2.patch
Description: Binary data

Reply via email to