[PATCH] glproto: Document GLX_ARB_create_context and GLX_ARB_create_context_profile protocol
Dave Airlie
airlied at gmail.com
Mon Nov 28 12:05:59 PST 2011
>
> Also add the struct names (in addition to the typedef names). Most of
> the other protocol structures have this, but some lack it. I'm not
> sure if this means the glproto package version should be bumped or not.
I think I messed up adding these also, as I didn't add Req to the
right places I don't think.
Nothing uses these yet anyways so they should be changeable, I had
started looking at those extensions locally a good while back, but
they weren't as urgent back then.
Dave.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> glxproto.h | 58 +++++++++++++++++++++++++++++++++++++++++++++-------------
> 1 files changed, 45 insertions(+), 13 deletions(-)
>
> diff --git a/glxproto.h b/glxproto.h
> index 0446217..26a6cce 100644
> --- a/glxproto.h
> +++ b/glxproto.h
> @@ -1288,15 +1288,34 @@ 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 n0 * 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 n1 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 n2 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;
> @@ -1311,10 +1330,13 @@ typedef struct {
> } xGLXSetClientInfoARB;
> #define sz_xGLXSetClientInfoARB 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;
> @@ -1330,10 +1352,18 @@ typedef struct {
> } xGLXCreateContextAttribsARB;
> #define sz_xGLXCreateContextAttribsARB 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;
> @@ -1347,6 +1377,8 @@ typedef struct {
> */
> } xGLXSetClientInfo2ARB;
> #define sz_xGLXSetClientInfo2ARB 24
> +/*@}*/
> +
> /************************************************************************/
>
> /*
> --
> 1.7.6.4
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>
More information about the xorg-devel
mailing list