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