summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2011-03-06 17:48:05 +1000
committerDave Airlie <airlied@redhat.com>2011-03-06 17:58:07 +1000
commit0cc3162cd29e63f915dc2b66c8dbd7a1a3dcdddc (patch)
tree4cb7b2e81462a323a4a1c767f48aa2580c79013b
parenta50bd646df530b4ce84a8aef3d40c74766dfb60c (diff)
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
-rw-r--r--glxproto.h66
-rw-r--r--glxtokens.h23
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