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.

Attachment: glxextensions.patch
Description: Binary data

Reply via email to