1fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef __glxext_h_
20d1011638b079f8d6df942416f58b20043eea892Brian Paul#define __glxext_h_ 1
3fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
4fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus
5fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern "C" {
6fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
7fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
8fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*
96a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin** Copyright (c) 2013-2016 The Khronos Group Inc.
100d1011638b079f8d6df942416f58b20043eea892Brian Paul**
11344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** Permission is hereby granted, free of charge, to any person obtaining a
12344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** copy of this software and/or associated documentation files (the
13344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** "Materials"), to deal in the Materials without restriction, including
14344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** without limitation the rights to use, copy, modify, merge, publish,
15344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** distribute, sublicense, and/or sell copies of the Materials, and to
16344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** permit persons to whom the Materials are furnished to do so, subject to
17344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** the following conditions:
180d1011638b079f8d6df942416f58b20043eea892Brian Paul**
19344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** The above copyright notice and this permission notice shall be included
20344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** in all copies or substantial portions of the Materials.
210d1011638b079f8d6df942416f58b20043eea892Brian Paul**
22344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian Paul** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul*/
300d1011638b079f8d6df942416f58b20043eea892Brian Paul/*
310d1011638b079f8d6df942416f58b20043eea892Brian Paul** This header is generated from the Khronos OpenGL / OpenGL ES XML
320d1011638b079f8d6df942416f58b20043eea892Brian Paul** API Registry. The current version of the Registry, generator scripts
330d1011638b079f8d6df942416f58b20043eea892Brian Paul** used to make the header, and the header can be found at
340d1011638b079f8d6df942416f58b20043eea892Brian Paul**   http://www.opengl.org/registry/
350d1011638b079f8d6df942416f58b20043eea892Brian Paul**
366a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin** Khronos $Revision: 32889 $ on $Date: 2016-05-31 07:09:51 -0400 (Tue, 31 May 2016) $
370d1011638b079f8d6df942416f58b20043eea892Brian Paul*/
38fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
396a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#define GLX_GLXEXT_VERSION 20160531
40fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
410d1011638b079f8d6df942416f58b20043eea892Brian Paul/* Generated C header for:
420d1011638b079f8d6df942416f58b20043eea892Brian Paul * API: glx
430d1011638b079f8d6df942416f58b20043eea892Brian Paul * Versions considered: .*
440d1011638b079f8d6df942416f58b20043eea892Brian Paul * Versions emitted: 1\.[3-9]
450d1011638b079f8d6df942416f58b20043eea892Brian Paul * Default extensions included: glx
460d1011638b079f8d6df942416f58b20043eea892Brian Paul * Additional extensions included: _nomatch_^
470d1011638b079f8d6df942416f58b20043eea892Brian Paul * Extensions removed: _nomatch_^
480d1011638b079f8d6df942416f58b20043eea892Brian Paul */
49fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
50fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3
510d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VERSION_1_3 1
523f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turnertypedef XID GLXContextID;
530d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfig;
540d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XID GLXWindow;
550d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XID GLXPbuffer;
560d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_WINDOW_BIT                    0x00000001
570d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PIXMAP_BIT                    0x00000002
580d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER_BIT                   0x00000004
590d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_BIT                      0x00000001
600d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COLOR_INDEX_BIT               0x00000002
610d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER_CLOBBER_MASK          0x08000000
620d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT         0x00000001
630d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT        0x00000002
640d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT          0x00000004
650d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT         0x00000008
660d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX_BUFFERS_BIT               0x00000010
670d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DEPTH_BUFFER_BIT              0x00000020
680d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_STENCIL_BUFFER_BIT            0x00000040
690d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ACCUM_BUFFER_BIT              0x00000080
700d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONFIG_CAVEAT                 0x20
710d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_X_VISUAL_TYPE                 0x22
720d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_TYPE              0x23
730d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE       0x24
740d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_RED_VALUE         0x25
750d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE       0x26
760d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE        0x27
770d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE       0x28
780d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DONT_CARE                     0xFFFFFFFF
790d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NONE                          0x8000
800d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SLOW_CONFIG                   0x8001
810d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRUE_COLOR                    0x8002
820d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DIRECT_COLOR                  0x8003
830d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PSEUDO_COLOR                  0x8004
840d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_STATIC_COLOR                  0x8005
850d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GRAY_SCALE                    0x8006
860d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_STATIC_GRAY                   0x8007
870d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_RGB               0x8008
880d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_INDEX             0x8009
890d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VISUAL_ID                     0x800B
900d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SCREEN                        0x800C
910d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NON_CONFORMANT_CONFIG         0x800D
920d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DRAWABLE_TYPE                 0x8010
930d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RENDER_TYPE                   0x8011
940d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_X_RENDERABLE                  0x8012
950d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FBCONFIG_ID                   0x8013
960d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_TYPE                     0x8014
970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COLOR_INDEX_TYPE              0x8015
980d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_PBUFFER_WIDTH             0x8016
990d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_PBUFFER_HEIGHT            0x8017
1000d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_PBUFFER_PIXELS            0x8018
1010d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PRESERVED_CONTENTS            0x801B
1020d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_LARGEST_PBUFFER               0x801C
1030d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_WIDTH                         0x801D
1040d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HEIGHT                        0x801E
1050d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EVENT_MASK                    0x801F
1060d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DAMAGED                       0x8020
1070d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAVED                         0x8021
1080d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_WINDOW                        0x8022
1090d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER                       0x8023
1100d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER_HEIGHT                0x8040
1110d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER_WIDTH                 0x8041
1120d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXFBConfig *( *PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
1130d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXFBConfig *( *PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
1140d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
1150d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XVisualInfo *( *PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
1160d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXWindow ( *PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
1170d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
1180d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXPixmap ( *PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
1190d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
1200d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXPbuffer ( *PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
1210d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
1220d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
1230d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXContext ( *PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
1240d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
1250d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXDrawable ( *PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
1260d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
1270d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
1280d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
1290d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
1300d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXFBConfig *glXGetFBConfigs (Display *dpy, int screen, int *nelements);
1310d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXFBConfig *glXChooseFBConfig (Display *dpy, int screen, const int *attrib_list, int *nelements);
1320d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXGetFBConfigAttrib (Display *dpy, GLXFBConfig config, int attribute, int *value);
1330d1011638b079f8d6df942416f58b20043eea892Brian PaulXVisualInfo *glXGetVisualFromFBConfig (Display *dpy, GLXFBConfig config);
1340d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXWindow glXCreateWindow (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
1350d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXDestroyWindow (Display *dpy, GLXWindow win);
1360d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXPixmap glXCreatePixmap (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
1370d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXDestroyPixmap (Display *dpy, GLXPixmap pixmap);
1380d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXPbuffer glXCreatePbuffer (Display *dpy, GLXFBConfig config, const int *attrib_list);
1390d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXDestroyPbuffer (Display *dpy, GLXPbuffer pbuf);
1400d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXQueryDrawable (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
1410d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXContext glXCreateNewContext (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
1420d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
1430d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXDrawable glXGetCurrentReadDrawable (void);
1440d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryContext (Display *dpy, GLXContext ctx, int attribute, int *value);
1450d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXSelectEvent (Display *dpy, GLXDrawable draw, unsigned long event_mask);
1460d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXGetSelectedEvent (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
1470d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif
1480d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_VERSION_1_3 */
149fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
1503d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_VERSION_1_4
1510d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VERSION_1_4 1
1520d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *__GLXextFuncPtr)(void);
1530d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLE_BUFFERS                100000
1540d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLES                       100001
1550d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef __GLXextFuncPtr ( *PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
1560d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
1570d1011638b079f8d6df942416f58b20043eea892Brian Paul__GLXextFuncPtr glXGetProcAddress (const GLubyte *procName);
158b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
1590d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_VERSION_1_4 */
160b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
161eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul#ifndef GLX_ARB_context_flush_control
162eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul#define GLX_ARB_context_flush_control 1
163eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul#define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB  0x2097
164eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
165eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul#define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
166eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul#endif /* GLX_ARB_context_flush_control */
167eeb7fc8b7d39155df425fc662952307d1d48f0b7Brian Paul
168f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
1690d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_create_context 1
1700d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_DEBUG_BIT_ARB         0x00000001
171f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
1720d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_MAJOR_VERSION_ARB     0x2091
1730d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_MINOR_VERSION_ARB     0x2092
1740d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_FLAGS_ARB             0x2094
1750d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXContext ( *PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
1760d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
1770d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXContext glXCreateContextAttribsARB (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
178f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
1790d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_create_context */
180f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
18139bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile
1820d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_create_context_profile 1
1830d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB  0x00000001
18439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
1850d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_PROFILE_MASK_ARB      0x9126
1860d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_create_context_profile */
18739bf48f281a81fc24a6de00cec243672df2be653Brian Paul
188b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_create_context_robustness
1890d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_create_context_robustness 1
1900d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
1910d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_LOSE_CONTEXT_ON_RESET_ARB     0x8252
192b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
1930d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NO_RESET_NOTIFICATION_ARB     0x8261
1940d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_create_context_robustness */
195b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
1960d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_fbconfig_float
1970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_fbconfig_float 1
1980d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_FLOAT_TYPE_ARB           0x20B9
1990d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_FLOAT_BIT_ARB            0x00000004
2000d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_fbconfig_float */
2012a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul
2020d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_framebuffer_sRGB
2030d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_framebuffer_sRGB 1
2040d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB  0x20B2
2050d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_framebuffer_sRGB */
206fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2070d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_get_proc_address
2080d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_get_proc_address 1
2090d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef __GLXextFuncPtr ( *PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
2100d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
2110d1011638b079f8d6df942416f58b20043eea892Brian Paul__GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName);
212fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
2130d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_get_proc_address */
214fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2150d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_multisample
2160d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_multisample 1
2170d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLE_BUFFERS_ARB            100000
2180d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLES_ARB                   100001
2190d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_multisample */
220fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2210d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_robustness_application_isolation
2220d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_robustness_application_isolation 1
2230d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
2240d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_robustness_application_isolation */
225fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2260d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_robustness_share_group_isolation
2270d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_robustness_share_group_isolation 1
2280d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_robustness_share_group_isolation */
229fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2300d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_ARB_vertex_buffer_object
2310d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ARB_vertex_buffer_object 1
2320d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
2330d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_ARB_vertex_buffer_object */
234fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2350d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_3DFX_multisample
2360d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_3DFX_multisample 1
2370d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLE_BUFFERS_3DFX           0x8050
2380d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLES_3DFX                  0x8051
2390d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_3DFX_multisample */
240fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2410d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_AMD_gpu_association
2420d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AMD_gpu_association 1
2430d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_VENDOR_AMD                0x1F00
2440d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_RENDERER_STRING_AMD       0x1F01
2450d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
2460d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_FASTEST_TARGET_GPUS_AMD   0x21A2
2470d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_RAM_AMD                   0x21A3
2480d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_CLOCK_AMD                 0x21A4
2490d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_NUM_PIPES_AMD             0x21A5
2500d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_NUM_SIMD_AMD              0x21A6
2510d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_NUM_RB_AMD                0x21A7
2520d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GPU_NUM_SPI_AMD               0x21A8
2536a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef unsigned int ( *PFNGLXGETGPUIDSAMDPROC) (unsigned int maxCount, unsigned int *ids);
2546a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef int ( *PFNGLXGETGPUINFOAMDPROC) (unsigned int id, int property, GLenum dataType, unsigned int size, void *data);
2556a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef unsigned int ( *PFNGLXGETCONTEXTGPUIDAMDPROC) (GLXContext ctx);
2566a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef GLXContext ( *PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC) (unsigned int id, GLXContext share_list);
2576a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef GLXContext ( *PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (unsigned int id, GLXContext share_context, const int *attribList);
2586a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef Bool ( *PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC) (GLXContext ctx);
2596a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef Bool ( *PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx);
2606a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef GLXContext ( *PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
2616a5504de2fbc43b445406324485629a313f7e542Ilia Mirkintypedef void ( *PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC) (GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2626a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#ifdef GLX_GLXEXT_PROTOTYPES
2636a5504de2fbc43b445406324485629a313f7e542Ilia Mirkinunsigned int glXGetGPUIDsAMD (unsigned int maxCount, unsigned int *ids);
2646a5504de2fbc43b445406324485629a313f7e542Ilia Mirkinint glXGetGPUInfoAMD (unsigned int id, int property, GLenum dataType, unsigned int size, void *data);
2656a5504de2fbc43b445406324485629a313f7e542Ilia Mirkinunsigned int glXGetContextGPUIDAMD (GLXContext ctx);
2666a5504de2fbc43b445406324485629a313f7e542Ilia MirkinGLXContext glXCreateAssociatedContextAMD (unsigned int id, GLXContext share_list);
2676a5504de2fbc43b445406324485629a313f7e542Ilia MirkinGLXContext glXCreateAssociatedContextAttribsAMD (unsigned int id, GLXContext share_context, const int *attribList);
2686a5504de2fbc43b445406324485629a313f7e542Ilia MirkinBool glXDeleteAssociatedContextAMD (GLXContext ctx);
2696a5504de2fbc43b445406324485629a313f7e542Ilia MirkinBool glXMakeAssociatedContextCurrentAMD (GLXContext ctx);
2706a5504de2fbc43b445406324485629a313f7e542Ilia MirkinGLXContext glXGetCurrentAssociatedContextAMD (void);
2716a5504de2fbc43b445406324485629a313f7e542Ilia Mirkinvoid glXBlitContextFramebufferAMD (GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
2726a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#endif
2730d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_AMD_gpu_association */
2740d1011638b079f8d6df942416f58b20043eea892Brian Paul
2750d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_buffer_age
2760d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_buffer_age 1
2770d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_BUFFER_AGE_EXT           0x20F4
2780d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_buffer_age */
279fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2800d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_create_context_es2_profile
2810d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_create_context_es2_profile 1
2820d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT   0x00000004
2830d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_create_context_es2_profile */
284fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2850d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_create_context_es_profile
2860d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_create_context_es_profile 1
2870d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_CONTEXT_ES_PROFILE_BIT_EXT    0x00000004
2880d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_create_context_es_profile */
289fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2900d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_fbconfig_packed_float
2910d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_fbconfig_packed_float 1
2920d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT  0x20B1
2930d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT   0x00000008
2940d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_fbconfig_packed_float */
295fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2960d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_framebuffer_sRGB
2970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_framebuffer_sRGB 1
2980d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT  0x20B2
2990d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_framebuffer_sRGB */
300fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
3010d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_import_context
3020d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_import_context 1
3030d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SHARE_CONTEXT_EXT             0x800A
3040d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VISUAL_ID_EXT                 0x800B
3050d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SCREEN_EXT                    0x800C
3060d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Display *( *PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
3070d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
3080d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXContextID ( *PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
3090d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXContext ( *PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
3100d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
3110d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
3120d1011638b079f8d6df942416f58b20043eea892Brian PaulDisplay *glXGetCurrentDisplayEXT (void);
3130d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryContextInfoEXT (Display *dpy, GLXContext context, int attribute, int *value);
3140d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXContextID glXGetContextIDEXT (const GLXContext context);
3150d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID);
3160d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXFreeContextEXT (Display *dpy, GLXContext context);
317fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
3180d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_import_context */
319fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
3206a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#ifndef GLX_EXT_libglvnd
3216a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#define GLX_EXT_libglvnd 1
3226a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#define GLX_VENDOR_NAMES_EXT              0x20F6
3236a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#endif /* GLX_EXT_libglvnd */
3246a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin
325c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#ifndef GLX_EXT_stereo_tree
326c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#define GLX_EXT_stereo_tree 1
327c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paultypedef struct {
328c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    int type;
329c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    unsigned long serial;
330c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    Bool send_event;
331c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    Display *display;
332c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    int extension;
333c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    int evtype;
334c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    GLXDrawable window;
335c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul    Bool stereo_tree;
336c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul} GLXStereoNotifyEventEXT;
337c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#define GLX_STEREO_TREE_EXT               0x20F5
338c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#define GLX_STEREO_NOTIFY_MASK_EXT        0x00000001
339c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#define GLX_STEREO_NOTIFY_EXT             0x00000000
340c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#endif /* GLX_EXT_stereo_tree */
341c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul
3420d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_swap_control
3430d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_swap_control 1
3440d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SWAP_INTERVAL_EXT             0x20F1
3450d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_SWAP_INTERVAL_EXT         0x20F2
3460d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval);
3470d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
3480d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXSwapIntervalEXT (Display *dpy, GLXDrawable drawable, int interval);
349fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
3500d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_swap_control */
351fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
3520d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_swap_control_tear
3530d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_swap_control_tear 1
3540d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_LATE_SWAPS_TEAR_EXT           0x20F3
3550d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_swap_control_tear */
356fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
3570d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_texture_from_pixmap
3580d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_texture_from_pixmap 1
3590d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_1D_BIT_EXT            0x00000001
3600d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_2D_BIT_EXT            0x00000002
3610d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_RECTANGLE_BIT_EXT     0x00000004
3620d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BIND_TO_TEXTURE_RGB_EXT       0x20D0
3630d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BIND_TO_TEXTURE_RGBA_EXT      0x20D1
3640d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT    0x20D2
3650d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BIND_TO_TEXTURE_TARGETS_EXT   0x20D3
3660d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_Y_INVERTED_EXT                0x20D4
3670d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_FORMAT_EXT            0x20D5
3680d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_TARGET_EXT            0x20D6
3690d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MIPMAP_TEXTURE_EXT            0x20D7
3700d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_FORMAT_NONE_EXT       0x20D8
3710d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_FORMAT_RGB_EXT        0x20D9
3720d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_FORMAT_RGBA_EXT       0x20DA
3730d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_1D_EXT                0x20DB
3740d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_2D_EXT                0x20DC
3750d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TEXTURE_RECTANGLE_EXT         0x20DD
3760d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_LEFT_EXT                0x20DE
3770d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_RIGHT_EXT               0x20DF
3780d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_LEFT_EXT                 0x20E0
3790d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_RIGHT_EXT                0x20E1
3800d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_EXT                     0x20DE
3810d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_EXT                      0x20E0
3820d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX0_EXT                      0x20E2
3830d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX1_EXT                      0x20E3
3840d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX2_EXT                      0x20E4
3850d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX3_EXT                      0x20E5
3860d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX4_EXT                      0x20E6
3870d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX5_EXT                      0x20E7
3880d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX6_EXT                      0x20E8
3890d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX7_EXT                      0x20E9
3900d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX8_EXT                      0x20EA
3910d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX9_EXT                      0x20EB
3920d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
3930d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
3940d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
3950d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXBindTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
3960d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXReleaseTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer);
397fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
3980d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_texture_from_pixmap */
399fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
4000d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_visual_info
4010d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_visual_info 1
4020d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_X_VISUAL_TYPE_EXT             0x22
4030d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_TYPE_EXT          0x23
4040d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE_EXT   0x24
4050d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_RED_VALUE_EXT     0x25
4060d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE_EXT   0x26
4070d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE_EXT    0x27
4080d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE_EXT   0x28
4090d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NONE_EXT                      0x8000
4100d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRUE_COLOR_EXT                0x8002
4110d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DIRECT_COLOR_EXT              0x8003
4120d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PSEUDO_COLOR_EXT              0x8004
4130d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_STATIC_COLOR_EXT              0x8005
4140d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_GRAY_SCALE_EXT                0x8006
4150d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_STATIC_GRAY_EXT               0x8007
4160d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_RGB_EXT           0x8008
4170d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_TRANSPARENT_INDEX_EXT         0x8009
4180d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_visual_info */
419fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
4200d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_EXT_visual_rating
4210d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXT_visual_rating 1
4220d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VISUAL_CAVEAT_EXT             0x20
4230d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SLOW_VISUAL_EXT               0x8001
4240d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NON_CONFORMANT_VISUAL_EXT     0x800D
4250d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_EXT_visual_rating */
4260d1011638b079f8d6df942416f58b20043eea892Brian Paul
4270d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_INTEL_swap_event
4280d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_INTEL_swap_event 1
4290d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
4300d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EXCHANGE_COMPLETE_INTEL       0x8180
4310d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COPY_COMPLETE_INTEL           0x8181
4320d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FLIP_COMPLETE_INTEL           0x8182
4330d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_INTEL_swap_event */
4340d1011638b079f8d6df942416f58b20043eea892Brian Paul
4350d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_MESA_agp_offset
4360d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MESA_agp_offset 1
4370d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef unsigned int ( *PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer);
4380d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
4390d1011638b079f8d6df942416f58b20043eea892Brian Paulunsigned int glXGetAGPOffsetMESA (const void *pointer);
440fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
4410d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_MESA_agp_offset */
442fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
443fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
4440d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MESA_copy_sub_buffer 1
4450d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
4460d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
4470d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXCopySubBufferMESA (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
448fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
4490d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_MESA_copy_sub_buffer */
450fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
451fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
4520d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MESA_pixmap_colormap 1
4530d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXPixmap ( *PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
4540d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
4550d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
456fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
4570d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_MESA_pixmap_colormap */
458fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
4596b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#ifndef GLX_MESA_query_renderer
4606b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_MESA_query_renderer 1
4616b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_VENDOR_ID_MESA       0x8183
4626b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_DEVICE_ID_MESA       0x8184
4636b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_VERSION_MESA         0x8185
4646b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_ACCELERATED_MESA     0x8186
4656b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_VIDEO_MEMORY_MESA    0x8187
4666b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188
4676b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189
4686b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A
4696b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
4706b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
4716b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
4726b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#define GLX_RENDERER_ID_MESA              0x818E
4736b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllahtypedef Bool ( *PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int *value);
4746b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllahtypedef const char *( *PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
4756b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllahtypedef Bool ( *PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
4766b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllahtypedef const char *( *PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
4776b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#ifdef GLX_GLXEXT_PROTOTYPES
4786b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel GadllahBool glXQueryCurrentRendererIntegerMESA (int attribute, unsigned int *value);
4796b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllahconst char *glXQueryCurrentRendererStringMESA (int attribute);
4806b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel GadllahBool glXQueryRendererIntegerMESA (Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
4816b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllahconst char *glXQueryRendererStringMESA (Display *dpy, int screen, int renderer, int attribute);
4826b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#endif
4836b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah#endif /* GLX_MESA_query_renderer */
4846b13cd1f7f635fb7ac7dc7d317bd9c4870d4d81eAdel Gadllah
485fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
4860d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MESA_release_buffers 1
4870d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
4880d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
4890d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXReleaseBuffersMESA (Display *dpy, GLXDrawable drawable);
490fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
4910d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_MESA_release_buffers */
492fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
493fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
4940d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MESA_set_3dfx_mode 1
4950d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_3DFX_WINDOW_MODE_MESA         0x1
4960d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_3DFX_FULLSCREEN_MODE_MESA     0x2
4970d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXSET3DFXMODEMESAPROC) (int mode);
4980d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
4990d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXSet3DfxModeMESA (int mode);
5003d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
5010d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_MESA_set_3dfx_mode */
5023d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
503c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#ifndef GLX_NV_copy_buffer
504c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#define GLX_NV_copy_buffer 1
505c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paultypedef void ( *PFNGLXCOPYBUFFERSUBDATANVPROC) (Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
506c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paultypedef void ( *PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) (Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
507c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
508c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paulvoid glXCopyBufferSubDataNV (Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
509c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paulvoid glXNamedCopyBufferSubDataNV (Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
510c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#endif
511c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#endif /* GLX_NV_copy_buffer */
512c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul
5130d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_NV_copy_image
5140d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NV_copy_image 1
5150d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
5160d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
5170d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
5183d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
5190d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_NV_copy_image */
5203d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
5213f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turner#ifndef GLX_NV_delay_before_swap
5223f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turner#define GLX_NV_delay_before_swap 1
5233f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turnertypedef Bool ( *PFNGLXDELAYBEFORESWAPNVPROC) (Display *dpy, GLXDrawable drawable, GLfloat seconds);
5243f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turner#ifdef GLX_GLXEXT_PROTOTYPES
5253f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt TurnerBool glXDelayBeforeSwapNV (Display *dpy, GLXDrawable drawable, GLfloat seconds);
5263f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turner#endif
5273f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turner#endif /* GLX_NV_delay_before_swap */
5283f3aafbfeeb3939cb5cf710954ccefb8bbe9cff9Matt Turner
5293cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
5300d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NV_float_buffer 1
5310d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FLOAT_COMPONENTS_NV           0x20B0
5320d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_NV_float_buffer */
53345b1f169b420dee39700d0337c2bc451158618e7Brian Paul
5340d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_NV_multisample_coverage
5350d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NV_multisample_coverage 1
5360d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COVERAGE_SAMPLES_NV           100001
5370d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COLOR_SAMPLES_NV              0x20B3
5380d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_NV_multisample_coverage */
53945b1f169b420dee39700d0337c2bc451158618e7Brian Paul
540d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
5410d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NV_present_video 1
5420d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NUM_VIDEO_SLOTS_NV            0x20F0
5430d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef unsigned int *( *PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
5440d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
5450d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
5460d1011638b079f8d6df942416f58b20043eea892Brian Paulunsigned int *glXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements);
5470d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
548d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
5490d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_NV_present_video */
550d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
5516a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#ifndef GLX_NV_robustness_video_memory_purge
5526a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#define GLX_NV_robustness_video_memory_purge 1
5536a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#define GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x20F7
5546a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin#endif /* GLX_NV_robustness_video_memory_purge */
5556a5504de2fbc43b445406324485629a313f7e542Ilia Mirkin
556d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
5570d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NV_swap_group 1
5580d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group);
5590d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier);
5600d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
5610d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
5620d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count);
5630d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
5640d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
5650d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXJoinSwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint group);
5660d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXBindSwapBarrierNV (Display *dpy, GLuint group, GLuint barrier);
5670d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXQuerySwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
5680d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXQueryMaxSwapGroupsNV (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
5690d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXQueryFrameCountNV (Display *dpy, int screen, GLuint *count);
5700d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXResetFrameCountNV (Display *dpy, int screen);
571d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
5720d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_NV_swap_group */
573d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
574559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
5750d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NV_video_capture 1
5760d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XID GLXVideoCaptureDeviceNV;
5770d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DEVICE_ID_NV                  0x20CD
5780d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_UNIQUE_ID_NV                  0x20CE
5790d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV    0x20CF
5800d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
5810d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXVideoCaptureDeviceNV *( *PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements);
5820d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
5830d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
5840d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
5850d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
5860d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
5870d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXVideoCaptureDeviceNV *glXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements);
5880d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
5890d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
5900d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
591fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
5920d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_NV_video_capture */
593fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
594c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#ifndef GLX_NV_video_out
595c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#define GLX_NV_video_out 1
596559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int GLXVideoDeviceNV;
5970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_COLOR_NV            0x20C3
5980d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_ALPHA_NV            0x20C4
5990d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_DEPTH_NV            0x20C5
6000d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV  0x20C6
6010d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV  0x20C7
6020d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_FRAME_NV            0x20C8
6030d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_FIELD_1_NV          0x20C9
6040d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_FIELD_2_NV          0x20CA
6050d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
6060d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
6070d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
6080d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
6090d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
6100d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf);
6110d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
6120d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
6130d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
6140d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXGetVideoDeviceNV (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
6150d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXReleaseVideoDeviceNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
6160d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXBindVideoImageNV (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
6170d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXReleaseVideoImageNV (Display *dpy, GLXPbuffer pbuf);
6180d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXSendPbufferToVideoNV (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
6190d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXGetVideoInfoNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
620559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
621c344f45333a2686fe8f180994b44d8c519e65c2eBrian Paul#endif /* GLX_NV_video_out */
622559da98c2be577d918a847080b78033947a1767aBrian Paul
6230d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_OML_swap_method
6240d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_OML_swap_method 1
6250d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SWAP_METHOD_OML               0x8060
6260d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SWAP_EXCHANGE_OML             0x8061
6270d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SWAP_COPY_OML                 0x8062
6280d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SWAP_UNDEFINED_OML            0x8063
6290d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_OML_swap_method */
630559da98c2be577d918a847080b78033947a1767aBrian Paul
6310d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_OML_sync_control
6320d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_OML_sync_control 1
6333cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLEXT_64_TYPES_DEFINED
634b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz/* This code block is duplicated in glext.h, so must be protected */
6353cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLEXT_64_TYPES_DEFINED
6363cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
6373cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* (as used in the GLX_OML_sync_control extension). */
6383cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
6393cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>
640967c1056d5e86231e4a545a748973e1123cd19c1Brian Paul#elif defined(__sun__) || defined(__digital__)
6419f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#include <inttypes.h>
6429f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#if defined(__STDC__)
643b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#if defined(__arch64__) || defined(_LP64)
6449f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanicktypedef long int int64_t;
6453cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long int uint64_t;
6469f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#else
6473cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
6483cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
6499f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __arch64__ */
6509f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __STDC__ */
651b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#elif defined( __VMS ) || defined(__sgi)
652538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#include <inttypes.h>
653538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#elif defined(__SCO__) || defined(__USLC__)
65438b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#include <stdint.h>
6553cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#elif defined(__UNIXOS2__) || defined(__SOL64__)
6563cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long int int32_t;
6573cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
6583cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
65945b1f169b420dee39700d0337c2bc451158618e7Brian Paul#elif defined(_WIN32) && defined(__GNUC__)
660160b3284dd3cdad106ad9aebf5fed7e9ff7b142bBrian Paul#include <stdint.h>
66145b1f169b420dee39700d0337c2bc451158618e7Brian Paul#elif defined(_WIN32)
66245b1f169b420dee39700d0337c2bc451158618e7Brian Paultypedef __int32 int32_t;
66345b1f169b420dee39700d0337c2bc451158618e7Brian Paultypedef __int64 int64_t;
66445b1f169b420dee39700d0337c2bc451158618e7Brian Paultypedef unsigned __int64 uint64_t;
6653cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#else
6660d1011638b079f8d6df942416f58b20043eea892Brian Paul/* Fallback if nothing above works */
6670d1011638b079f8d6df942416f58b20043eea892Brian Paul#include <inttypes.h>
668e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
6693cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
6700d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
6710d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
6720d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int64_t ( *PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
6730d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXWAITFORMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
6740d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
675f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
6760d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXGetSyncValuesOML (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
6770d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXGetMscRateOML (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
6780d1011638b079f8d6df942416f58b20043eea892Brian Paulint64_t glXSwapBuffersMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
6790d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXWaitForMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
6800d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXWaitForSbcOML (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
68139bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif
6820d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_OML_sync_control */
68339bf48f281a81fc24a6de00cec243672df2be653Brian Paul
6840d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIS_blended_overlay
6850d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIS_blended_overlay 1
6860d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BLENDED_RGBA_SGIS             0x8025
6870d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIS_blended_overlay */
688b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
689fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_multisample
690fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIS_multisample 1
6910d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLE_BUFFERS_SGIS           100000
6920d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLES_SGIS                  100001
6930d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIS_multisample */
694fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
6950d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIS_shared_multisample
6960d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIS_shared_multisample 1
6970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
6980d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
6990d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIS_shared_multisample */
700fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
701fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
702fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_dmbuffer 1
7030d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XID GLXPbufferSGIX;
7046ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _DM_BUFFER_H_
7050d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX    0x8024
7060d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
707fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
7080d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXAssociateDMPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
7093d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
7100d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* _DM_BUFFER_H_ */
7110d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_dmbuffer */
7123d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
7130d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_fbconfig
7140d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_fbconfig 1
7150d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
7160d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_WINDOW_BIT_SGIX               0x00000001
7170d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PIXMAP_BIT_SGIX               0x00000002
7180d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_BIT_SGIX                 0x00000001
7190d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COLOR_INDEX_BIT_SGIX          0x00000002
7200d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DRAWABLE_TYPE_SGIX            0x8010
7210d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RENDER_TYPE_SGIX              0x8011
7220d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_X_RENDERABLE_SGIX             0x8012
7230d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FBCONFIG_ID_SGIX              0x8013
7240d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_RGBA_TYPE_SGIX                0x8014
7250d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_COLOR_INDEX_TYPE_SGIX         0x8015
7260d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
7270d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXFBConfigSGIX *( *PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements);
7280d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXPixmap ( *PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
7290d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXContext ( *PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
7300d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XVisualInfo *( *PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config);
7310d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXFBConfigSGIX ( *PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis);
732e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
7330d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXGetFBConfigAttribSGIX (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
7340d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXFBConfigSGIX *glXChooseFBConfigSGIX (Display *dpy, int screen, int *attrib_list, int *nelements);
7350d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
7360d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXContext glXCreateContextWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
7370d1011638b079f8d6df942416f58b20043eea892Brian PaulXVisualInfo *glXGetVisualFromFBConfigSGIX (Display *dpy, GLXFBConfigSGIX config);
7380d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *dpy, XVisualInfo *vis);
7393cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
7400d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_fbconfig */
7413cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
7423cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
7433cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_SGIX_hyperpipe 1
7446ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7450d1011638b079f8d6df942416f58b20043eea892Brian Paul    char    pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
7466ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     networkId;
7476ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeNetworkSGIX;
7486ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7490d1011638b079f8d6df942416f58b20043eea892Brian Paul    char    pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
7506ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     channel;
7510d1011638b079f8d6df942416f58b20043eea892Brian Paul    unsigned int participationType;
7526ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     timeSlice;
7536ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeConfigSGIX;
7546ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7550d1011638b079f8d6df942416f58b20043eea892Brian Paul    char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
7566ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
7576ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int destXOrigin, destYOrigin, destWidth, destHeight;
7586ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRect;
7596ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7600d1011638b079f8d6df942416f58b20043eea892Brian Paul    char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
7616ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int XOrigin, YOrigin, maxHeight, maxWidth;
7626ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRectLimits;
7630d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
7640d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BAD_HYPERPIPE_CONFIG_SGIX     91
7650d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BAD_HYPERPIPE_SGIX            92
7660d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX   0x00000001
7670d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HYPERPIPE_RENDER_PIPE_SGIX    0x00000002
7680d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PIPE_RECT_SGIX                0x00000001
7690d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PIPE_RECT_LIMITS_SGIX         0x00000002
7700d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HYPERPIPE_STEREO_SGIX         0x00000003
7710d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX  0x00000004
7720d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HYPERPIPE_ID_SGIX             0x8030
7730d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXHyperpipeNetworkSGIX *( *PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
7740d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
7750d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXHyperpipeConfigSGIX *( *PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
7760d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
7770d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
7780d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
7790d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
7800d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
7816ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
7820d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXHyperpipeNetworkSGIX *glXQueryHyperpipeNetworkSGIX (Display *dpy, int *npipes);
7830d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXHyperpipeConfigSGIX (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
7840d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXHyperpipeConfigSGIX *glXQueryHyperpipeConfigSGIX (Display *dpy, int hpId, int *npipes);
7850d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXDestroyHyperpipeConfigSGIX (Display *dpy, int hpId);
7860d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXBindHyperpipeSGIX (Display *dpy, int hpId);
7870d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryHyperpipeBestAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
7880d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
7890d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
7906ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
7910d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_hyperpipe */
7926ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7930d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_pbuffer
7940d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_pbuffer 1
7950d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER_BIT_SGIX              0x00000004
7960d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BUFFER_CLOBBER_MASK_SGIX      0x08000000
7970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX    0x00000001
7980d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX   0x00000002
7990d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT_SGIX     0x00000004
8000d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX    0x00000008
8010d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_AUX_BUFFERS_BIT_SGIX          0x00000010
8020d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DEPTH_BUFFER_BIT_SGIX         0x00000020
8030d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_STENCIL_BUFFER_BIT_SGIX       0x00000040
8040d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_ACCUM_BUFFER_BIT_SGIX         0x00000080
8050d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAMPLE_BUFFERS_BIT_SGIX       0x00000100
8060d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_PBUFFER_WIDTH_SGIX        0x8016
8070d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_PBUFFER_HEIGHT_SGIX       0x8017
8080d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_MAX_PBUFFER_PIXELS_SGIX       0x8018
8090d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX    0x8019
8100d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX   0x801A
8110d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PRESERVED_CONTENTS_SGIX       0x801B
8120d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_LARGEST_PBUFFER_SGIX          0x801C
8130d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_WIDTH_SGIX                    0x801D
8140d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_HEIGHT_SGIX                   0x801E
8150d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_EVENT_MASK_SGIX               0x801F
8160d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_DAMAGED_SGIX                  0x8020
8170d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SAVED_SGIX                    0x8021
8180d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_WINDOW_SGIX                   0x8022
8190d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_PBUFFER_SGIX                  0x8023
8200d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXPbufferSGIX ( *PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
8210d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf);
8220d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
8230d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask);
8240d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask);
8256ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
8260d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
8270d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXDestroyGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf);
8280d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
8290d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXSelectEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long mask);
8300d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXGetSelectedEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long *mask);
83145b1f169b420dee39700d0337c2bc451158618e7Brian Paul#endif
8320d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_pbuffer */
83345b1f169b420dee39700d0337c2bc451158618e7Brian Paul
8340d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_swap_barrier
8350d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_swap_barrier 1
8360d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
8370d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
83845b1f169b420dee39700d0337c2bc451158618e7Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
8390d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier);
8400d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max);
84145b1f169b420dee39700d0337c2bc451158618e7Brian Paul#endif
8420d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_swap_barrier */
84345b1f169b420dee39700d0337c2bc451158618e7Brian Paul
8440d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_swap_group
8450d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_swap_group 1
8460d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
847559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
8480d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member);
849d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
8500d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_swap_group */
851d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
8520d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_video_resize
8530d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_video_resize 1
8540d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SYNC_FRAME_SGIX               0x00000000
8550d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SYNC_SWAP_SGIX                0x00000001
8560d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window);
8570d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h);
8580d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
8590d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
8600d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype);
861559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
8620d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXBindChannelToWindowSGIX (Display *display, int screen, int channel, Window window);
8630d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXChannelRectSGIX (Display *display, int screen, int channel, int x, int y, int w, int h);
8640d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryChannelRectSGIX (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
8650d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXQueryChannelDeltasSGIX (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
8660d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXChannelRectSyncSGIX (Display *display, int screen, int channel, GLenum synctype);
867d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
8680d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_video_resize */
869d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
8700d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_video_source
8710d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_video_source 1
8720d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef XID GLXVideoSourceSGIX;
8730d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef _VL_H
8740d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXVideoSourceSGIX ( *PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
8750d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource);
876559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
8770d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
8780d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXDestroyGLXVideoSourceSGIX (Display *dpy, GLXVideoSourceSGIX glxvideosource);
879559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
8800d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* _VL_H */
8810d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_video_source */
882559da98c2be577d918a847080b78033947a1767aBrian Paul
8830d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGIX_visual_select_group
8840d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGIX_visual_select_group 1
8850d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_VISUAL_SELECT_GROUP_SGIX      0x8028
8860d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGIX_visual_select_group */
887559da98c2be577d918a847080b78033947a1767aBrian Paul
8880d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGI_cushion
8890d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGI_cushion 1
8900d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef void ( *PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
891559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
8920d1011638b079f8d6df942416f58b20043eea892Brian Paulvoid glXCushionSGI (Display *dpy, Window window, float cushion);
893559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
8940d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGI_cushion */
895559da98c2be577d918a847080b78033947a1767aBrian Paul
8960d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGI_make_current_read
8970d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGI_make_current_read 1
8980d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Bool ( *PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
8990d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef GLXDrawable ( *PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
900559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
9010d1011638b079f8d6df942416f58b20043eea892Brian PaulBool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
9020d1011638b079f8d6df942416f58b20043eea892Brian PaulGLXDrawable glXGetCurrentReadDrawableSGI (void);
903d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
9040d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGI_make_current_read */
905d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
9060d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGI_swap_control
9070d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGI_swap_control 1
9080d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXSWAPINTERVALSGIPROC) (int interval);
9090d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
9100d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXSwapIntervalSGI (int interval);
911f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif
9120d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGI_swap_control */
913f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick
9140d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SGI_video_sync
9150d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SGI_video_sync 1
9160d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
9170d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef int ( *PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
9180d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
9190d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXGetVideoSyncSGI (unsigned int *count);
9200d1011638b079f8d6df942416f58b20043eea892Brian Paulint glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int *count);
921b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
9220d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SGI_video_sync */
923b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
9240d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifndef GLX_SUN_get_transparent_index
9250d1011638b079f8d6df942416f58b20043eea892Brian Paul#define GLX_SUN_get_transparent_index 1
9260d1011638b079f8d6df942416f58b20043eea892Brian Paultypedef Status ( *PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
9270d1011638b079f8d6df942416f58b20043eea892Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
9280d1011638b079f8d6df942416f58b20043eea892Brian PaulStatus glXGetTransparentIndexSUN (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
92952dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#endif
9300d1011638b079f8d6df942416f58b20043eea892Brian Paul#endif /* GLX_SUN_get_transparent_index */
9313cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
932fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus
933fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul}
934fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
935fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
936fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
937