Hi, I attached a first attempt on a patch that makes client-side extensions aware of multiple screens and will allow extensions to be enabled conditionally by the drivers. This is a result of the thread "Observations about dynamic extension registration". It compiles but the drivers aren't changed yet. I'd like to get some feedback before I do that.
Some general remarks: glXGetClientString doesn't have a screen argument. Therefore available extensions and their characteristics are managed globally. glXQueryExtensionsString on the other hand does have a screen argument. Therefore which extensions are actually enabled is managed per screen. The semantics of the direct_support bit has changed subtly. It determines if an extension is available on a screen. It must be set even for client_only extensions. This was necessary as client_only extensions added by _one_ driver would be enabled on _all_ screens otherwise. The proposed changes break binary compatibility. The patch ignores that for now. As this API hasn't been exposed in any XFree releases yet (according to Ian), we may get away with it. ;-) Comments? Regards, Felix ------------ __\|/__ ___ ___ ------------------------- Felix ___\_e -_/___/ __\___/ __\_____ You can do anything, Kühling (_____\Ä/____/ /_____/ /________) just not everything [EMAIL PROTECTED] \___/ \___/ U at the same time.
glxextensions.patch
Description: Binary data