glxext.h revision f7b4c2cca9ea9013f527b25ae45605047c58d64c
1fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef __glxext_h_
2fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define __glxext_h_
3fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
4fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus
5fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern "C" {
6fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
7fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
8fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*
9344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** Copyright (c) 2007 The Khronos Group Inc.
10fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul**
11344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** Permission is hereby granted, free of charge, to any person obtaining a
12344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** copy of this software and/or associated documentation files (the
13344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** "Materials"), to deal in the Materials without restriction, including
14344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** without limitation the rights to use, copy, modify, merge, publish,
15344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** distribute, sublicense, and/or sell copies of the Materials, and to
16344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** permit persons to whom the Materials are furnished to do so, subject to
17344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** the following conditions:
18fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul**
19344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** The above copyright notice and this permission notice shall be included
20344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** in all copies or substantial portions of the Materials.
21fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul**
22344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28344c3f7379ab4db749e7e8513be9be8fbb9f126cBrian** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul*/
30fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
316ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
32fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define WIN32_LEAN_AND_MEAN 1
33fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#include <windows.h>
34fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
35fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
36fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef APIENTRY
37fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define APIENTRY
38fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef APIENTRYP
406ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define APIENTRYP APIENTRY *
416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
42e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLAPI
43e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLAPI extern
44e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
45fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
46fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/
47fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
48fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* Header file version number, required by OpenGL ABI for Linux */
493efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul/* glxext.h last updated 2008/10/22 */
503cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Current version at http://www.opengl.org/registry/ */
513efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_GLXEXT_VERSION 21
52fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
53fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3
54fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT                     0x00000001
55fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT                     0x00000002
56fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT                    0x00000004
57fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT                       0x00000001
58fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT                0x00000002
59fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_CLOBBER_MASK           0x08000000
60fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT          0x00000001
61fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT         0x00000002
62fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT           0x00000004
63fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT          0x00000008
64fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT                0x00000010
65fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT               0x00000020
66fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT             0x00000040
67fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT               0x00000080
68fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_CONFIG_CAVEAT                  0x20
69fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE                  0x22
70fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE               0x23
71fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE        0x24
72fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE          0x25
73fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE        0x26
74fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE         0x27
75fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE        0x28
76fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DONT_CARE                      0xFFFFFFFF
77fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE                           0x8000
78fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_CONFIG                    0x8001
79fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR                     0x8002
80fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR                   0x8003
81fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR                   0x8004
82fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR                   0x8005
83fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE                     0x8006
84fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY                    0x8007
85fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB                0x8008
86fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX              0x8009
87fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID                      0x800B
88fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN                         0x800C
89fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_CONFIG          0x800D
90fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE                  0x8010
91fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE                    0x8011
92fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE                   0x8012
93fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID                    0x8013
94fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE                      0x8014
95fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE               0x8015
96fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH              0x8016
97fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT             0x8017
98fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS             0x8018
99fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS             0x801B
100fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER                0x801C
101fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH                          0x801D
102fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT                         0x801E
103fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK                     0x801F
104fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED                        0x8020
105fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED                          0x8021
106fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW                         0x8022
107fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER                        0x8023
108fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_HEIGHT                 0x8040
109fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_WIDTH                  0x8041
110fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
111fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
1123d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_VERSION_1_4
1133d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLE_BUFFERS                 100000
1143d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLES                        100001
1153d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
1163d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
117e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_get_proc_address
118e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
119e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
1203d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_ARB_multisample
1213d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLE_BUFFERS_ARB             100000
1223d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLES_ARB                    100001
1233d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
1243d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
1253cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float
1263cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_RGBA_FLOAT_TYPE_ARB            0x20B9
1273cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_RGBA_FLOAT_BIT_ARB             0x00000004
1283cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
1293cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
130f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
131f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_DEBUG_BIT_ARB          0x00000001
132f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
133f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
134f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
135f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FLAGS_ARB              0x2094
136f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
137f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
1382a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#ifndef GLX_SGIS_multisample
1392a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLE_BUFFERS_SGIS            100000
1402a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLES_SGIS                   100001
1412a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#endif
1422a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul
143fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info
144fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE_EXT              0x22
145fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE_EXT           0x23
146fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE_EXT    0x24
147fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE_EXT      0x25
148fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE_EXT    0x26
149fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE_EXT     0x27
150fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE_EXT    0x28
151fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE_EXT                       0x8000
152fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR_EXT                 0x8002
153fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR_EXT               0x8003
154fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR_EXT               0x8004
155fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR_EXT               0x8005
156fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE_EXT                 0x8006
157fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY_EXT                0x8007
158fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB_EXT            0x8008
159fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_EXT          0x8009
160fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
161fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
162fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control
163fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
164fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
165fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync
166fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
167fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
168fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read
169fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
170fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
171fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
172fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
173fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
174fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating
175fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_CAVEAT_EXT              0x20
176fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_VISUAL_EXT                0x8001
177fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_VISUAL_EXT      0x800D
178fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_NONE_EXT */
179fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
180fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
181fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context
182fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SHARE_CONTEXT_EXT              0x800A
183fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID_EXT                  0x800B
184fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN_EXT                     0x800C
185fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
186fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
187fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
188fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT_SGIX                0x00000001
189fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT_SGIX                0x00000002
190fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT_SGIX                  0x00000001
191fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT_SGIX           0x00000002
192fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE_SGIX             0x8010
193fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE_SGIX               0x8011
194fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE_SGIX              0x8012
195fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID_SGIX               0x8013
196fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE_SGIX                 0x8014
197fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE_SGIX          0x8015
198fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_SCREEN_EXT */
199fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
200fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
201fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
202fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT_SGIX               0x00000004
203fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BUFFER_CLOBBER_MASK_SGIX       0x08000000
204fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX     0x00000001
205fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX    0x00000002
206fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT_SGIX      0x00000004
207fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX     0x00000008
208fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT_SGIX           0x00000010
209fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT_SGIX          0x00000020
210fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT_SGIX        0x00000040
211fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT_SGIX          0x00000080
212fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_BIT_SGIX        0x00000100
213fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH_SGIX         0x8016
214fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT_SGIX        0x8017
215fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS_SGIX        0x8018
216fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX     0x8019
217fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX    0x801A
218fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS_SGIX        0x801B
219fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER_SGIX           0x801C
220fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH_SGIX                     0x801D
221fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT_SGIX                    0x801E
222fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK_SGIX                0x801F
223fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED_SGIX                   0x8020
224fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED_SGIX                     0x8021
225fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_SGIX                    0x8022
226fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_SGIX                   0x8023
227fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
228fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
229fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion
230fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
231fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
232fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize
233fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_FRAME_SGIX                0x00000000
234fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_SWAP_SGIX                 0x00000001
235fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
236fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
237fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
238fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX     0x8024
239fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
240fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
241fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group
242fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
243fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
244fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier
245fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
246fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
247fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_blended_overlay
248fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BLENDED_RGBA_SGIS              0x8025
249fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
250fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
251fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_shared_multisample
252fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
253fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
254fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
255fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
256fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index
257fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
258fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
259fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_3DFX_multisample
260fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_3DFX            0x8050
261fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLES_3DFX                   0x8051
262fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
263fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
264fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
265fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
266fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
267fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
268fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
269fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
270fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
271fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
272fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
273fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
274fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_WINDOW_MODE_MESA          0x1
275fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_FULLSCREEN_MODE_MESA      0x2
276fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
277fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2783d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group
2793d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_VISUAL_SELECT_GROUP_SGIX       0x8028
2803d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
2813d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
2823d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_swap_method
2833d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_METHOD_OML                0x8060
2843d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_EXCHANGE_OML              0x8061
2853d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_COPY_OML                  0x8062
2863d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_UNDEFINED_OML             0x8063
2873d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
2883d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
2893d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_sync_control
2903d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
2913d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
2923cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
2933cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_FLOAT_COMPONENTS_NV            0x20B0
2943cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
2953cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
2963cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
2976ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
2986ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_CONFIG_SGIX      91
2996ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_SGIX             92
3006ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX    0x00000001
3016ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_RENDER_PIPE_SGIX     0x00000002
3026ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_SGIX                 0x00000001
3036ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_LIMITS_SGIX          0x00000002
3046ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_STEREO_SGIX          0x00000003
3056ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX   0x00000004
3066ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_ID_SGIX              0x8030
3076ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
3086ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
3096ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset
3106ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
3116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
31245b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float
31345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT   0x20B1
31445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT    0x00000008
31545b1f169b420dee39700d0337c2bc451158618e7Brian#endif
31645b1f169b420dee39700d0337c2bc451158618e7Brian
31745b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB
31845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x20B2
31945b1f169b420dee39700d0337c2bc451158618e7Brian#endif
32045b1f169b420dee39700d0337c2bc451158618e7Brian
32145b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap
32245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_BIT_EXT             0x00000001
32345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_BIT_EXT             0x00000002
32445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
32545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
32645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
32745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
32845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
32945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_Y_INVERTED_EXT                 0x20D4
33045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_EXT             0x20D5
33145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_TARGET_EXT             0x20D6
33245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_MIPMAP_TEXTURE_EXT             0x20D7
33345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
33445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
33545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
33645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_EXT                 0x20DB
33745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_EXT                 0x20DC
33845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
33945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_LEFT_EXT                 0x20DE
34045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_RIGHT_EXT                0x20DF
34145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_LEFT_EXT                  0x20E0
34245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_RIGHT_EXT                 0x20E1
34345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
34445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
34545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX0_EXT                       0x20E2
34645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX1_EXT                       0x20E3
34745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX2_EXT                       0x20E4
34845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX3_EXT                       0x20E5
34945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX4_EXT                       0x20E6
35045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX5_EXT                       0x20E7
35145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX6_EXT                       0x20E8
35245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX7_EXT                       0x20E9
35345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX8_EXT                       0x20EA
35445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX9_EXT                       0x20EB
35545b1f169b420dee39700d0337c2bc451158618e7Brian#endif
35645b1f169b420dee39700d0337c2bc451158618e7Brian
357d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
3583efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_NUM_VIDEO_SLOTS_NV             0x20F0
359d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
360d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
361d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_video_out
3623efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_NV             0x20C3
3633efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_ALPHA_NV             0x20C4
3643efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_DEPTH_NV             0x20C5
3653efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20C6
3663efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20C7
3673efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FRAME_NV             0x20C8
3683efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_1_NV           0x20C9
3693efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_2_NV           0x20CA
3703efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
3713efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
372d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
373d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
374d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
375d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
376d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
377fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
378fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/
379fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
380fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address
381b95884c53de33bdd6ec843a8ddd7243cfb93a208Brian Paultypedef void (*__GLXextFuncPtr)(void);
382fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
383fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
384fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
385fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXVideoSourceSGIX;
386fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
387fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
388fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
389fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXFBConfigIDSGIX;
390fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
391fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
392fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
393fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
394fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXPbufferSGIX;
395fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct {
396fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int type;
397fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    unsigned long serial;	  /* # of last request processed by server */
398fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    Bool send_event;		  /* true if this came for SendEvent request */
399fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    Display *display;		  /* display the event was read from */
400fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    GLXDrawable drawable;	  /* i.d. of Drawable */
401fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int event_type;		  /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
402fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int draw_type;		  /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
403fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    unsigned int mask;	  /* mask indicating which buffers are affected*/
404fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int x, y;
405fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int width, height;
406fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int count;		  /* if nonzero, at least this many more */
407fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} GLXBufferClobberEventSGIX;
408fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
409fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
4103cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLEXT_64_TYPES_DEFINED
411b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz/* This code block is duplicated in glext.h, so must be protected */
4123cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLEXT_64_TYPES_DEFINED
4133cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
4143cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* (as used in the GLX_OML_sync_control extension). */
4153cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
4163cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>
417967c1056d5e86231e4a545a748973e1123cd19c1Brian#elif defined(__sun__) || defined(__digital__)
4189f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#include <inttypes.h>
4199f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#if defined(__STDC__)
420b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#if defined(__arch64__) || defined(_LP64)
4219f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanicktypedef long int int64_t;
4223cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long int uint64_t;
4239f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#else
4243cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
4253cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
4269f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __arch64__ */
4279f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __STDC__ */
428b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#elif defined( __VMS ) || defined(__sgi)
429538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#include <inttypes.h>
430538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#elif defined(__SCO__) || defined(__USLC__)
43138b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#include <stdint.h>
4323cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#elif defined(__UNIXOS2__) || defined(__SOL64__)
4333cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long int int32_t;
4343cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
4353cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
43645b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) && defined(__GNUC__)
437160b3284dd3cdad106ad9aebf5fed7e9ff7b142bBrian Paul#include <stdint.h>
43845b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32)
43945b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int32 int32_t;
44045b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int64 int64_t;
44145b1f169b420dee39700d0337c2bc451158618e7Briantypedef unsigned __int64 uint64_t;
4423cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#else
4433cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>     /* Fallback option */
4443cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
44538b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#endif
44638b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane
447fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3
448fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VERSION_1_3 1
449fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
450fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXFBConfig * glXGetFBConfigs (Display *, int, int *);
451fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXFBConfig * glXChooseFBConfig (Display *, int, const int *, int *);
452fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXGetFBConfigAttrib (Display *, GLXFBConfig, int, int *);
453fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern XVisualInfo * glXGetVisualFromFBConfig (Display *, GLXFBConfig);
454fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXWindow glXCreateWindow (Display *, GLXFBConfig, Window, const int *);
455fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXDestroyWindow (Display *, GLXWindow);
456fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXPixmap glXCreatePixmap (Display *, GLXFBConfig, Pixmap, const int *);
457fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXDestroyPixmap (Display *, GLXPixmap);
458fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXPbuffer glXCreatePbuffer (Display *, GLXFBConfig, const int *);
459fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXDestroyPbuffer (Display *, GLXPbuffer);
460fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXQueryDrawable (Display *, GLXDrawable, int, unsigned int *);
461fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXContext glXCreateNewContext (Display *, GLXFBConfig, int, GLXContext, Bool);
462fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Bool glXMakeContextCurrent (Display *, GLXDrawable, GLXDrawable, GLXContext);
463fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawable (void);
464fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplay (void);
465fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXQueryContext (Display *, GLXContext, int, int *);
466fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXSelectEvent (Display *, GLXDrawable, unsigned long);
467fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXGetSelectedEvent (Display *, GLXDrawable, unsigned long *);
468fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
469fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
470fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
471fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
472fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
473fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
474fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
475fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
476fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
477fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
478fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
479fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
480fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
481fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
482fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
483fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
484fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
485fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
486fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
487fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
488fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
489e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_VERSION_1_4
490e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_VERSION_1_4 1
491e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
492e3af5354a6090666a03586693865fd0d51d994d0Brian Paulextern __GLXextFuncPtr glXGetProcAddress (const GLubyte *);
493e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
494e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
495e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
496e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
497fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address
498fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ARB_get_proc_address 1
499fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
500fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
501fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
502fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
503fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
504fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
505e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_multisample
506e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_ARB_multisample 1
507e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
508e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
5093cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float
5103cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_ARB_fbconfig_float 1
5113cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
5123cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
513f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
514f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_ARB_create_context 1
515f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
516f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paulextern GLXContext glXCreateContextAttribsARB (Display *, GLXFBConfig, GLXContext, Bool, const int *);
517f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
518f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
519f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
520f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
521fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_multisample
522fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIS_multisample 1
523fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
524fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
525fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info
526fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_info 1
527fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
528fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
529fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control
530fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_swap_control 1
531fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
532fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXSwapIntervalSGI (int);
533fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
534fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
535fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
536fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
537fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync
538fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_video_sync 1
539fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
540fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXGetVideoSyncSGI (unsigned int *);
541fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXWaitVideoSyncSGI (int, int, unsigned int *);
542fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
543fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
544fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
545fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
546fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
547fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read
548fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_make_current_read 1
549fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
550fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Bool glXMakeCurrentReadSGI (Display *, GLXDrawable, GLXDrawable, GLXContext);
551fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawableSGI (void);
552fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
553fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
554fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
555fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
556fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
557fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
558fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_source 1
5596ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _VL_H
560fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
561fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *, int, VLServer, VLPath, int, VLNode);
562fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXDestroyGLXVideoSourceSGIX (Display *, GLXVideoSourceSGIX);
563fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
564fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
565fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource);
5666ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _VL_H */
567fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
568fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
569fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating
570fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_rating 1
571fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
572fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
573fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context
574fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_import_context 1
575fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
576fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplayEXT (void);
577fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXQueryContextInfoEXT (Display *, GLXContext, int, int *);
578199b931c071dfeb03a036765ae0f316dd7236a33Brian Paulextern GLXContextID glXGetContextIDEXT (const GLXContext);
579fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXContext glXImportContextEXT (Display *, GLXContextID);
580fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXFreeContextEXT (Display *, GLXContext);
581fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
582fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
583fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
584e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
585fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
586fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
587fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
588fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
589fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
590fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_fbconfig 1
591fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
592fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXGetFBConfigAttribSGIX (Display *, GLXFBConfigSGIX, int, int *);
593fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *, int, int *, int *);
594fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *, GLXFBConfigSGIX, Pixmap);
595fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXContext glXCreateContextWithConfigSGIX (Display *, GLXFBConfigSGIX, int, GLXContext, Bool);
596fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *, GLXFBConfigSGIX);
597fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *, XVisualInfo *);
598fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
599fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
600fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements);
601fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
602fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
603fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config);
604fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis);
605fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
606fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
607fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
608fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_pbuffer 1
609fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
610fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *, GLXFBConfigSGIX, unsigned int, unsigned int, int *);
611fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXDestroyGLXPbufferSGIX (Display *, GLXPbufferSGIX);
612fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXQueryGLXPbufferSGIX (Display *, GLXPbufferSGIX, int, unsigned int *);
613fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXSelectEventSGIX (Display *, GLXDrawable, unsigned long);
614fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXGetSelectedEventSGIX (Display *, GLXDrawable, unsigned long *);
615fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
616fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
617fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf);
618fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
619fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask);
620fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask);
621fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
622fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
623fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion
624fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_cushion 1
625fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
626fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXCushionSGI (Display *, Window, float);
627fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
628fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
629fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
630fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
631fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize
632fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_resize 1
633fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
634fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXBindChannelToWindowSGIX (Display *, int, int, Window);
635fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXChannelRectSGIX (Display *, int, int, int, int, int, int);
636fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXQueryChannelRectSGIX (Display *, int, int, int *, int *, int *, int *);
637fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXQueryChannelDeltasSGIX (Display *, int, int, int *, int *, int *, int *);
638fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern int glXChannelRectSyncSGIX (Display *, int, int, GLenum);
639fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
640fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window);
641fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h);
642fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
643fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
644fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype);
645fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
646fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
647fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
648fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_dmbuffer 1
6496ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _DM_BUFFER_H_
650fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
651fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Bool glXAssociateDMPbufferSGIX (Display *, GLXPbufferSGIX, DMparams *, DMbuffer);
652fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
653fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
6546ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _DM_BUFFER_H_ */
655fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
656fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
657fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group
658fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_group 1
659fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
660fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXJoinSwapGroupSGIX (Display *, GLXDrawable, GLXDrawable);
661fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
662fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
663fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
664fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
665fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier
666fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_barrier 1
667fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
668fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXBindSwapBarrierSGIX (Display *, GLXDrawable, int);
669fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Bool glXQueryMaxSwapBarriersSGIX (Display *, int, int *);
670fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
671fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
672fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
673fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
674fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
675fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index
676fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SUN_get_transparent_index 1
677fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
678fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Status glXGetTransparentIndexSUN (Display *, Window, Window, long *);
679fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
680fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
681fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
682fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
683fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
684fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_copy_sub_buffer 1
685fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
686fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern void glXCopySubBufferMESA (Display *, GLXDrawable, int, int, int, int);
687fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
688fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
689fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
690fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
691fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
692fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_pixmap_colormap 1
693fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
694fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXPixmap glXCreateGLXPixmapMESA (Display *, XVisualInfo *, Pixmap, Colormap);
695fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
696fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
697fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
698fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
699fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
700fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_release_buffers 1
701fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
702fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Bool glXReleaseBuffersMESA (Display *, GLXDrawable);
703fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
704fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
705fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
706fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
707fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
708fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_set_3dfx_mode 1
709fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
710fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Bool glXSet3DfxModeMESA (int);
711fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
712fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode);
713fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
714fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
7153d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group
7163d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SGIX_visual_select_group 1
7173d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
7183d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
719e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_OML_swap_method
720e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_OML_swap_method 1
7213d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
7223d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
7236ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_OML_sync_control
7246ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_OML_sync_control 1
725e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
726e3af5354a6090666a03586693865fd0d51d994d0Brian Paulextern Bool glXGetSyncValuesOML (Display *, GLXDrawable, int64_t *, int64_t *, int64_t *);
727e3af5354a6090666a03586693865fd0d51d994d0Brian Paulextern Bool glXGetMscRateOML (Display *, GLXDrawable, int32_t *, int32_t *);
728e3af5354a6090666a03586693865fd0d51d994d0Brian Paulextern int64_t glXSwapBuffersMscOML (Display *, GLXDrawable, int64_t, int64_t, int64_t);
729e3af5354a6090666a03586693865fd0d51d994d0Brian Paulextern Bool glXWaitForMscOML (Display *, GLXDrawable, int64_t, int64_t, int64_t, int64_t *, int64_t *, int64_t *);
730e3af5354a6090666a03586693865fd0d51d994d0Brian Paulextern Bool glXWaitForSbcOML (Display *, GLXDrawable, int64_t, int64_t *, int64_t *, int64_t *);
731e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
732e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
733e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
734e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
735e3af5354a6090666a03586693865fd0d51d994d0Brian 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);
736e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
7376ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
7386ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7393cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
7403cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_NV_float_buffer 1
7413cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
7423cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
7433cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
7443cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_SGIX_hyperpipe 1
7456ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7466ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7476ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
7486ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     networkId;
7496ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeNetworkSGIX;
7506ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7516ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7526ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
7536ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     channel;
7546ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    unsigned int
7556ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul      participationType;
7566ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     timeSlice;
7576ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeConfigSGIX;
7586ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7596ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7606ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
7616ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
7626ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int destXOrigin, destYOrigin, destWidth, destHeight;
7636ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRect;
7646ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7656ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7666ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
7676ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int XOrigin, YOrigin, maxHeight, maxWidth;
7686ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRectLimits;
7696ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7706ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
7716ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern GLXHyperpipeNetworkSGIX * glXQueryHyperpipeNetworkSGIX (Display *, int *);
7726ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern int glXHyperpipeConfigSGIX (Display *, int, int, GLXHyperpipeConfigSGIX *, int *);
7736ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern GLXHyperpipeConfigSGIX * glXQueryHyperpipeConfigSGIX (Display *, int, int *);
7746ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern int glXDestroyHyperpipeConfigSGIX (Display *, int);
7756ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern int glXBindHyperpipeSGIX (Display *, int);
7766ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern int glXQueryHyperpipeBestAttribSGIX (Display *, int, int, int, void *, void *);
7776ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern int glXHyperpipeAttribSGIX (Display *, int, int, int, void *);
7786ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern int glXQueryHyperpipeAttribSGIX (Display *, int, int, int, void *);
7796ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
7806ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
7816ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
7826ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
7836ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
7846ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
7856ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
7866ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
7876ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
7886ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
7896ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7906ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset
7916ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_MESA_agp_offset 1
7926ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
7936ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paulextern unsigned int glXGetAGPOffsetMESA (const void *);
7946ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
7956ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer);
7966ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
7976ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
79845b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float
79945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_fbconfig_packed_float 1
80045b1f169b420dee39700d0337c2bc451158618e7Brian#endif
80145b1f169b420dee39700d0337c2bc451158618e7Brian
80245b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB
80345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_framebuffer_sRGB 1
80445b1f169b420dee39700d0337c2bc451158618e7Brian#endif
80545b1f169b420dee39700d0337c2bc451158618e7Brian
80645b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap
80745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_texture_from_pixmap 1
80845b1f169b420dee39700d0337c2bc451158618e7Brian#ifdef GLX_GLXEXT_PROTOTYPES
80945b1f169b420dee39700d0337c2bc451158618e7Brianextern void glXBindTexImageEXT (Display *, GLXDrawable, int, const int *);
81045b1f169b420dee39700d0337c2bc451158618e7Brianextern void glXReleaseTexImageEXT (Display *, GLXDrawable, int);
81145b1f169b420dee39700d0337c2bc451158618e7Brian#endif /* GLX_GLXEXT_PROTOTYPES */
81245b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
81345b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
81445b1f169b420dee39700d0337c2bc451158618e7Brian#endif
81545b1f169b420dee39700d0337c2bc451158618e7Brian
816d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
817d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_present_video 1
818d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
819d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
820d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_video_out
821d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_video_out 1
822d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
823d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
824d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
825d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_swap_group 1
826d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
827d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
8283cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
829fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus
830fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul}
831fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
832fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
833fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
834