summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2006-02-10 19:29:38 +0000
committerJamey Sharp <jamey@minilop.net>2006-02-10 19:29:38 +0000
commitce20d35f923db95a0db5d4b098180796900c226b (patch)
treea8ecd60b66980924c454f48951df04b6f3d5f9f7
parent5b24c87663d871e009c26280e09b18e9a901e409 (diff)
Add note regarding buggy X server implementations of GLX, and how to work
around them.
-rw-r--r--xcb-proto/src/extensions/glx.xml18
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 -->