summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-11-28 10:53:17 -0800
committerIan Romanick <ian.d.romanick@intel.com>2011-12-07 16:50:56 -0800
commit29d5b553b30755a25300c30b67d39b37c9a76466 (patch)
tree2039f9baae369479c2c005f552b81e57fe7e2ff2
parent6d7e398150dde1c15b7f62f485cb33bad8f4d5c6 (diff)
glproto: Document GLX_ARB_create_context and GLX_ARB_create_context_profile protocolglproto-1.4.15
Also add the struct names (in addition to the typedef names). Most of the other protocol structures have this, but some lack it. v2: Add a few missing Req suffixes. Rename n0, n1, and n2 fields of GLXSetClientInfoARB and GLXSetClientInfo2ARB to numVersions, numGLExtensionBytes and numGLXExtensionBytes, respectively. Since the names of some structure fields change, bump the version to 1.4.15. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--configure.ac2
-rw-r--r--glxproto.h83
2 files changed, 59 insertions, 26 deletions
diff --git a/configure.ac b/configure.ac
index a6c301c..9907db0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([GLProto], [1.4.14], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([GLProto], [1.4.15], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
diff --git a/glxproto.h b/glxproto.h
index 0446217..b50adc2 100644
--- a/glxproto.h
+++ b/glxproto.h
@@ -1288,33 +1288,56 @@ typedef struct {
} xGLXHyperpipeConfigSGIXReply;
#define sz_xGLXHyperpipeConfigSGIXReply 32
-/*
- * GLX_ARB_create_context
+/**
+ * \name Protocol structures for GLX_ARB_create_context and
* GLX_ARB_create_context_profile
*/
-
-/*
- * glXSetClientInfoARB
+/*@{*/
+/**
+ * Protocol header for glXSetClientInfoARB
+ *
+ * This structure is follwed by \c numVersions * 2 \c CARD32 values listing
+ * the OpenGL versions supported by the client. The pairs of values are an
+ * OpenGL major version followed by a minor version. For example,
+ *
+ * CARD32 versions[4] = { 2, 1, 3, 0 };
+ *
+ * says that the client supports OpenGL 2.1 and OpenGL 3.0.
+ *
+ * These are followed by \c numGLExtensionBytes bytes of \c STRING8 containing
+ * the OpenGL extension string supported by the client and up to 3 bytes of
+ * padding.
+ *
+ * The list of OpenGL extensions is followed by \c numGLXExtensionBytes bytes
+ * of \c STRING8 containing the GLX extension string supported by the client
+ * and up to 3 bytes of padding.
+ *
+ * This protocol replaces \c GLXClientInfo.
+ *
+ * \sa GLXClientInfo, GLXSetClientInfo2ARB
*/
-typedef struct {
+typedef struct GLXSetClientInfoARB {
CARD8 reqType;
CARD8 glxCode;
CARD16 length B16;
CARD32 major B32;
CARD32 minor B32;
- CARD32 n0 B32;
- CARD32 n1 B32;
- CARD32 n2 B32;
+ CARD32 numVersions B32;
+ CARD32 numGLExtensionBytes B32;
+ CARD32 numGLXExtensionBytes B32;
/*
** More data may follow; this is just the header.
*/
-} xGLXSetClientInfoARB;
-#define sz_xGLXSetClientInfoARB 24
+} xGLXSetClientInfoARBReq;
+#define sz_xGLXSetClientInfoARBReq 24
-/*
-** glXCreateContextAttribsARB
-*/
-typedef struct {
+/**
+ * Protocol head for glXCreateContextAttribsARB
+ *
+ * This protocol replaces \c GLXCreateContext, \c GLXCreateNewContext, and
+ * \c GLXCreateContextWithConfigSGIX.
+ */
+typedef struct GLXCreateContextAttribsARB {
CARD8 reqType;
CARD8 glxCode;
CARD16 length B16;
@@ -1327,26 +1350,36 @@ typedef struct {
CARD16 reserved2 B16;
CARD32 numAttribs B32;
/* followed by attribute list */
-} xGLXCreateContextAttribsARB;
-#define sz_xGLXCreateContextAttribsARB 28
+} xGLXCreateContextAttribsARBReq;
+#define sz_xGLXCreateContextAttribsARBReq 28
-/*
- * glXSetClientInfo2ARB
+/**
+ * Protocol header for glXSetClientInfo2ARB
+ *
+ * The glXSetClientInfo2ARB protocol differs from glXSetClientInfoARB in that
+ * the list of OpenGL versions supported by the client is 3 \c CARD32 values
+ * per version: major version, minor version, and supported profile mask.
+ *
+ * This protocol replaces \c GLXClientInfo and \c GLXSetClientInfoARB.
+ *
+ * \sa GLXClientInfo, GLXSetClientInfoARB
*/
-typedef struct {
+typedef struct GLXSetClientInfo2ARB {
CARD8 reqType;
CARD8 glxCode;
CARD16 length B16;
CARD32 major B32;
CARD32 minor B32;
- CARD32 n0 B32;
- CARD32 n1 B32;
- CARD32 n2 B32;
+ CARD32 numVersions B32;
+ CARD32 numGLExtensionBytes B32;
+ CARD32 numGLXExtensionBytes B32;
/*
** More data may follow; this is just the header.
*/
-} xGLXSetClientInfo2ARB;
-#define sz_xGLXSetClientInfo2ARB 24
+} xGLXSetClientInfo2ARBReq;
+#define sz_xGLXSetClientInfo2ARBReq 24
+/*@}*/
+
/************************************************************************/
/*