From 0cc3162cd29e63f915dc2b66c8dbd7a1a3dcdddc Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Sun, 6 Mar 2011 17:48:05 +1000 Subject: glproto: add GLX_ARB_context_create + GLX_ARB_context_create_profile Add glproto support for these two extensions also add tokens for GLX_ARB_create_context_robustness --- glxproto.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- glxtokens.h | 23 +++++++++++++++++++++ 2 files changed, 87 insertions(+), 2 deletions(-) diff --git a/glxproto.h b/glxproto.h index d0ba2ad..0ff44e3 100644 --- a/glxproto.h +++ b/glxproto.h @@ -51,8 +51,9 @@ #define GLXBadPbuffer 10 #define GLXBadCurrentDrawable 11 #define GLXBadWindow 12 +#define GLXBadProfileARB 13 -#define __GLX_NUMBER_ERRORS 13 +#define __GLX_NUMBER_ERRORS 14 /* ** Events. @@ -1287,6 +1288,65 @@ typedef struct { } xGLXHyperpipeConfigSGIXReply; #define sz_xGLXHyperpipeConfigSGIXReply 32 +/* + * GLX_ARB_create_context + * GLX_ARB_create_context_profile + */ + +/* + * glXSetClientInfoARB + */ +typedef struct { + CARD8 reqType; + CARD8 glxCode; + CARD16 length B16; + CARD32 major B32; + CARD32 minor B32; + CARD32 n0 B32; + CARD32 n1 B32; + CARD32 n2 B32; + /* + ** More data may follow; this is just the header. + */ +} xGLXSetClientInfoARB; +#define sz_xGLXSetClientInfoARB 24 + +/* +** glXCreateContextAttribsARB +*/ +typedef struct { + CARD8 reqType; + CARD8 glxCode; + CARD16 length B16; + GLXContextID context B32; + GLXFBConfigID fbconfig B32; + CARD32 screen; + GLXContextID shareList B32; + BOOL isDirect; + CARD8 reserved1; + CARD16 reserved2 B16; + CARD32 numAttribs B32; + /* followed by attribute list */ +} xGLXCreateContextAttribsARB; +#define sz_xGLXCreateContextAttribsARB 28 + +/* + * glXSetClientInfo2ARB + */ +typedef struct { + CARD8 reqType; + CARD8 glxCode; + CARD16 length B16; + CARD32 major B32; + CARD32 minor B32; + CARD32 n0 B32; + CARD32 n1 B32; + CARD32 n2 B32; + /* + ** More data may follow; this is just the header. + */ +} xGLXSetClientInfo2ARB; +#define sz_xGLXSetClientInfo2ARB 24 /************************************************************************/ /* @@ -2049,7 +2109,9 @@ typedef struct { #define X_GLXChangeDrawableAttributes 30 #define X_GLXCreateWindow 31 #define X_GLXDestroyWindow 32 - +#define X_GLXSetClientInfoARB 33 +#define X_GLXCreateContextAtrribsARB 34 +#define X_GLXSetConfigInfo2ARB 35 /* Opcodes for single commands (part of GLX command space) */ diff --git a/glxtokens.h b/glxtokens.h index 9cb5652..1ed2fd3 100644 --- a/glxtokens.h +++ b/glxtokens.h @@ -282,6 +282,29 @@ extern "C" { * GLX_EXT_framebuffer_SRGB */ #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 + +/* + * GLX_ARB_create_context + * GLX_ARB_create_context_profile + */ +#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define GLX_CONTEXT_FLAGS_ARB 0x2094 +#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 + +#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001 +#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 + +#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x0001 +#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x0002 + +/* + * GLX_ARB_create_context_robustness + */ +#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x0004 +#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261 +#define GLX_LOST_CONTEXT_ON_RESET_ARB 0x8252 #ifdef __cplusplus } #endif -- cgit v1.2.1