diff options
author | Jamey Sharp <jamey@minilop.net> | 2006-02-10 19:29:38 +0000 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2006-02-10 19:29:38 +0000 |
commit | ce20d35f923db95a0db5d4b098180796900c226b (patch) | |
tree | a8ecd60b66980924c454f48951df04b6f3d5f9f7 | |
parent | 5b24c87663d871e009c26280e09b18e9a901e409 (diff) |
Add note regarding buggy X server implementations of GLX, and how to work
around them.
-rw-r--r-- | xcb-proto/src/extensions/glx.xml | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/xcb-proto/src/extensions/glx.xml b/xcb-proto/src/extensions/glx.xml index b8c0a78..40310ad 100644 --- a/xcb-proto/src/extensions/glx.xml +++ b/xcb-proto/src/extensions/glx.xml @@ -26,6 +26,24 @@ sale, use or other dealings in this Software without prior written authorization from the authors. --> +<!-- +Note that on X.org servers before 6.9 (and probably others as well) the length +field in the reply is computed incorrectly for GetFBConfigs and +VendorPrivateWithReply vendor_code 0x10004 (GetFBConfigsSGIX). For these +requests the reply structure begins: + <pad bytes="1" /> + <field type="CARD32" name="numVisuals" /> + <field type="CARD32" name="numProps" /> +The correct value for the length field is + numVisuals * numProps * 2 +but on broken servers the "* 2" was missing. A workaround that is correct for +all implementations is to rewrite the length field on receipt on the client +side, using the expression above. + +The patch that fixed this server bug in X.org CVS is here: + http://cvs.freedesktop.org/xorg/xserver/xorg/GL/glx/glxcmds.c?r1=1.6&r2=1.7 +--> + <xcb header="glx" extension-xname="GLX" extension-name="Glx"> <!-- target support: 1.3 --> |