glxext.h revision 4eb803975d5c724f0c5c3c6aad4d6afa3d30571b
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/*
9f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick** Copyright (c) 2007-2010 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
3139bf48f281a81fc24a6de00cec243672df2be653Brian Paul/* Function declaration macros - to move into glplatform.h */
3239bf48f281a81fc24a6de00cec243672df2be653Brian Paul
336ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
34fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define WIN32_LEAN_AND_MEAN 1
35fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#include <windows.h>
36fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
37fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
38fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef APIENTRY
39fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define APIENTRY
40fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef APIENTRYP
426ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define APIENTRYP APIENTRY *
436ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
44e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLAPI
45e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLAPI extern
46e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
47fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
48fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/
49fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
50fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* Header file version number, required by OpenGL ABI for Linux */
51f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick/* glxext.h last updated 2010/02/10 */
523cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Current version at http://www.opengl.org/registry/ */
53f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_GLXEXT_VERSION 27
54fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
55fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3
56fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT                     0x00000001
57fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT                     0x00000002
58fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT                    0x00000004
59fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT                       0x00000001
60fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT                0x00000002
61fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_CLOBBER_MASK           0x08000000
62fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT          0x00000001
63fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT         0x00000002
64fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT           0x00000004
65fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT          0x00000008
66fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT                0x00000010
67fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT               0x00000020
68fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT             0x00000040
69fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT               0x00000080
70fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_CONFIG_CAVEAT                  0x20
71fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE                  0x22
72fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE               0x23
73fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE        0x24
74fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE          0x25
75fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE        0x26
76fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE         0x27
77fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE        0x28
78fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DONT_CARE                      0xFFFFFFFF
79fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE                           0x8000
80fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_CONFIG                    0x8001
81fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR                     0x8002
82fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR                   0x8003
83fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR                   0x8004
84fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR                   0x8005
85fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE                     0x8006
86fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY                    0x8007
87fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB                0x8008
88fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX              0x8009
89fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID                      0x800B
90fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN                         0x800C
91fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_CONFIG          0x800D
92fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE                  0x8010
93fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE                    0x8011
94fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE                   0x8012
95fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID                    0x8013
96fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE                      0x8014
97fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE               0x8015
98fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH              0x8016
99fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT             0x8017
100fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS             0x8018
101fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS             0x801B
102fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER                0x801C
103fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH                          0x801D
104fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT                         0x801E
105fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK                     0x801F
106fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED                        0x8020
107fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED                          0x8021
108fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW                         0x8022
109fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER                        0x8023
110fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_HEIGHT                 0x8040
111fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_WIDTH                  0x8041
112fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
113fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
1143d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_VERSION_1_4
1153d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLE_BUFFERS                 100000
1163d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLES                        100001
1173d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
1183d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
119e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_get_proc_address
120e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
121e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
1223d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_ARB_multisample
1233d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLE_BUFFERS_ARB             100000
1243d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SAMPLES_ARB                    100001
1253d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
1263d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
1274eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul#ifndef GLX_ARB_vertex_buffer_object
1284eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
1294eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul#endif
1304eb803975d5c724f0c5c3c6aad4d6afa3d30571bBrian Paul
1313cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float
1323cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_RGBA_FLOAT_TYPE_ARB            0x20B9
1333cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_RGBA_FLOAT_BIT_ARB             0x00000004
1343cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
1353cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
136f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
137f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_DEBUG_BIT_ARB          0x00000001
138f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
139f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
140f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
141f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FLAGS_ARB              0x2094
142f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
143f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
14439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile
14539bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB   0x00000001
14639bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
14739bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_PROFILE_MASK_ARB       0x9126
14839bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif
14939bf48f281a81fc24a6de00cec243672df2be653Brian Paul
1502a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#ifndef GLX_SGIS_multisample
1512a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLE_BUFFERS_SGIS            100000
1522a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLES_SGIS                   100001
1532a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#endif
1542a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul
155fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info
156fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE_EXT              0x22
157fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE_EXT           0x23
158fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE_EXT    0x24
159fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE_EXT      0x25
160fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE_EXT    0x26
161fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE_EXT     0x27
162fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE_EXT    0x28
163fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE_EXT                       0x8000
164fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR_EXT                 0x8002
165fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR_EXT               0x8003
166fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR_EXT               0x8004
167fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR_EXT               0x8005
168fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE_EXT                 0x8006
169fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY_EXT                0x8007
170fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB_EXT            0x8008
171fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_EXT          0x8009
172fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
173fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
174fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control
175fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
176fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
177fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync
178fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
179fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
180fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read
181fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
182fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
183fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
184fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
185fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
186fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating
187fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_CAVEAT_EXT              0x20
188fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_VISUAL_EXT                0x8001
189fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_VISUAL_EXT      0x800D
190fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_NONE_EXT */
191fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
192fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
193fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context
194fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SHARE_CONTEXT_EXT              0x800A
195fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID_EXT                  0x800B
196fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN_EXT                     0x800C
197fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
198fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
199fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
200fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT_SGIX                0x00000001
201fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT_SGIX                0x00000002
202fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT_SGIX                  0x00000001
203fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT_SGIX           0x00000002
204fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE_SGIX             0x8010
205fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE_SGIX               0x8011
206fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE_SGIX              0x8012
207fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID_SGIX               0x8013
208fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE_SGIX                 0x8014
209fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE_SGIX          0x8015
210fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_SCREEN_EXT */
211fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
212fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
213fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
214fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT_SGIX               0x00000004
215fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BUFFER_CLOBBER_MASK_SGIX       0x08000000
216fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX     0x00000001
217fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX    0x00000002
218fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT_SGIX      0x00000004
219fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX     0x00000008
220fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT_SGIX           0x00000010
221fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT_SGIX          0x00000020
222fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT_SGIX        0x00000040
223fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT_SGIX          0x00000080
224fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_BIT_SGIX        0x00000100
225fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH_SGIX         0x8016
226fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT_SGIX        0x8017
227fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS_SGIX        0x8018
228fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX     0x8019
229fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX    0x801A
230fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS_SGIX        0x801B
231fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER_SGIX           0x801C
232fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH_SGIX                     0x801D
233fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT_SGIX                    0x801E
234fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK_SGIX                0x801F
235fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED_SGIX                   0x8020
236fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED_SGIX                     0x8021
237fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_SGIX                    0x8022
238fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_SGIX                   0x8023
239fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
240fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
241fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion
242fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
243fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
244fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize
245fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_FRAME_SGIX                0x00000000
246fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_SWAP_SGIX                 0x00000001
247fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
248fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
249fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
250fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX     0x8024
251fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
252fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
253fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group
254fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
255fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
256fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier
257fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
258fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
259fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_blended_overlay
260fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BLENDED_RGBA_SGIS              0x8025
261fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
262fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
263fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_shared_multisample
264fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
265fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
266fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
267fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
268fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index
269fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
270fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
271fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_3DFX_multisample
272fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_3DFX            0x8050
273fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLES_3DFX                   0x8051
274fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
275fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
276fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
277fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
278fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
279fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
280fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
281fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
282fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
283fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
284fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
285fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
286fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_WINDOW_MODE_MESA          0x1
287fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_FULLSCREEN_MODE_MESA      0x2
288fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
289fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
2903d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group
2913d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_VISUAL_SELECT_GROUP_SGIX       0x8028
2923d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
2933d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
2943d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_swap_method
2953d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_METHOD_OML                0x8060
2963d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_EXCHANGE_OML              0x8061
2973d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_COPY_OML                  0x8062
2983d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_UNDEFINED_OML             0x8063
2993d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
3003d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
3013d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_sync_control
3023d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
3033d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
3043cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
3053cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_FLOAT_COMPONENTS_NV            0x20B0
3063cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
3073cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
3083cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
3096ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
3106ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_CONFIG_SGIX      91
3116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_SGIX             92
3126ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX    0x00000001
3136ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_RENDER_PIPE_SGIX     0x00000002
3146ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_SGIX                 0x00000001
3156ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_LIMITS_SGIX          0x00000002
3166ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_STEREO_SGIX          0x00000003
3176ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX   0x00000004
3186ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_ID_SGIX              0x8030
3196ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
3206ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
3216ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset
3226ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
3236ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
32445b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float
32545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT   0x20B1
32645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT    0x00000008
32745b1f169b420dee39700d0337c2bc451158618e7Brian#endif
32845b1f169b420dee39700d0337c2bc451158618e7Brian
32945b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB
33045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x20B2
33145b1f169b420dee39700d0337c2bc451158618e7Brian#endif
33245b1f169b420dee39700d0337c2bc451158618e7Brian
33345b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap
33445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_BIT_EXT             0x00000001
33545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_BIT_EXT             0x00000002
33645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
33745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
33845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
33945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
34045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
34145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_Y_INVERTED_EXT                 0x20D4
34245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_EXT             0x20D5
34345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_TARGET_EXT             0x20D6
34445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_MIPMAP_TEXTURE_EXT             0x20D7
34545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
34645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
34745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
34845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_EXT                 0x20DB
34945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_EXT                 0x20DC
35045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
35145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_LEFT_EXT                 0x20DE
35245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_RIGHT_EXT                0x20DF
35345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_LEFT_EXT                  0x20E0
35445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_RIGHT_EXT                 0x20E1
35545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
35645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
35745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX0_EXT                       0x20E2
35845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX1_EXT                       0x20E3
35945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX2_EXT                       0x20E4
36045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX3_EXT                       0x20E5
36145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX4_EXT                       0x20E6
36245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX5_EXT                       0x20E7
36345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX6_EXT                       0x20E8
36445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX7_EXT                       0x20E9
36545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX8_EXT                       0x20EA
36645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX9_EXT                       0x20EB
36745b1f169b420dee39700d0337c2bc451158618e7Brian#endif
36845b1f169b420dee39700d0337c2bc451158618e7Brian
369d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
3703efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_NUM_VIDEO_SLOTS_NV             0x20F0
371d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
372d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
373d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_video_out
3743efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_NV             0x20C3
3753efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_ALPHA_NV             0x20C4
3763efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_DEPTH_NV             0x20C5
3773efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20C6
3783efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20C7
3793efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FRAME_NV             0x20C8
3803efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_1_NV           0x20C9
3813efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_2_NV           0x20CA
3823efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
3833efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
384d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
385d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
386d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
387d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
388d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
389559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
390559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_DEVICE_ID_NV                   0x20CD
391559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_UNIQUE_ID_NV                   0x20CE
392559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV     0x20CF
393559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
394559da98c2be577d918a847080b78033947a1767aBrian Paul
395559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control
396559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_SWAP_INTERVAL_EXT              0x20F1
397559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_MAX_SWAP_INTERVAL_EXT          0x20F2
398559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
399559da98c2be577d918a847080b78033947a1767aBrian Paul
400559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image
401559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
402559da98c2be577d918a847080b78033947a1767aBrian Paul
403f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event
404f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
405f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_EXCHANGE_COMPLETE_INTEL        0x8180
406f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_COPY_COMPLETE_INTEL            0x8181
407f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_FLIP_COMPLETE_INTEL            0x8182
408f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif
409f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick
410fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
411fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/
412fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
413fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address
414b95884c53de33bdd6ec843a8ddd7243cfb93a208Brian Paultypedef void (*__GLXextFuncPtr)(void);
415fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
416fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
417fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
418fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXVideoSourceSGIX;
419fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
420fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
421fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
422fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXFBConfigIDSGIX;
423fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
424fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
425fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
426fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
427fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXPbufferSGIX;
428fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct {
429fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int type;
430fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    unsigned long serial;	  /* # of last request processed by server */
431fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    Bool send_event;		  /* true if this came for SendEvent request */
432fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    Display *display;		  /* display the event was read from */
433fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    GLXDrawable drawable;	  /* i.d. of Drawable */
434fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int event_type;		  /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
435fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int draw_type;		  /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
436fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    unsigned int mask;	  /* mask indicating which buffers are affected*/
437fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int x, y;
438fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int width, height;
439fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int count;		  /* if nonzero, at least this many more */
440fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} GLXBufferClobberEventSGIX;
441fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
442fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
443559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output
444559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int GLXVideoDeviceNV;
445559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
446559da98c2be577d918a847080b78033947a1767aBrian Paul
447559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
448559da98c2be577d918a847080b78033947a1767aBrian Paultypedef XID GLXVideoCaptureDeviceNV;
449559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
450559da98c2be577d918a847080b78033947a1767aBrian Paul
4513cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLEXT_64_TYPES_DEFINED
452b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz/* This code block is duplicated in glext.h, so must be protected */
4533cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLEXT_64_TYPES_DEFINED
4543cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
4553cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* (as used in the GLX_OML_sync_control extension). */
4563cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
4573cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>
458967c1056d5e86231e4a545a748973e1123cd19c1Brian#elif defined(__sun__) || defined(__digital__)
4599f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#include <inttypes.h>
4609f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#if defined(__STDC__)
461b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#if defined(__arch64__) || defined(_LP64)
4629f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanicktypedef long int int64_t;
4633cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long int uint64_t;
4649f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#else
4653cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
4663cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
4679f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __arch64__ */
4689f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __STDC__ */
469b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#elif defined( __VMS ) || defined(__sgi)
470538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#include <inttypes.h>
471538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#elif defined(__SCO__) || defined(__USLC__)
47238b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#include <stdint.h>
4733cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#elif defined(__UNIXOS2__) || defined(__SOL64__)
4743cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long int int32_t;
4753cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
4763cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
47745b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) && defined(__GNUC__)
478160b3284dd3cdad106ad9aebf5fed7e9ff7b142bBrian Paul#include <stdint.h>
47945b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32)
48045b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int32 int32_t;
48145b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int64 int64_t;
48245b1f169b420dee39700d0337c2bc451158618e7Briantypedef unsigned __int64 uint64_t;
4833cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#else
4843cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>     /* Fallback option */
4853cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
48638b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#endif
48738b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane
488fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3
489fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VERSION_1_3 1
490fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
491f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXGetFBConfigs (Display *dpy, int screen, int *nelements);
492f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXChooseFBConfig (Display *dpy, int screen, const int *attrib_list, int *nelements);
493f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttrib (Display *dpy, GLXFBConfig config, int attribute, int *value);
494f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfig (Display *dpy, GLXFBConfig config);
495f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXWindow glXCreateWindow (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
496f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyWindow (Display *dpy, GLXWindow win);
497f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreatePixmap (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
498f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPixmap (Display *dpy, GLXPixmap pixmap);
499f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbuffer glXCreatePbuffer (Display *dpy, GLXFBConfig config, const int *attrib_list);
500f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPbuffer (Display *dpy, GLXPbuffer pbuf);
501f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXQueryDrawable (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
502f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateNewContext (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
503f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
504fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawable (void);
505fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplay (void);
506f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContext (Display *dpy, GLXContext ctx, int attribute, int *value);
507f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEvent (Display *dpy, GLXDrawable draw, unsigned long event_mask);
508f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEvent (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
509fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
510fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
511fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
512fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
513fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
514fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
515fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
516fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
517fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
518fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
519fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
520fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
521fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
522fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
523fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
524fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
525fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
526fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
527fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
528fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
529fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
530e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_VERSION_1_4
531e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_VERSION_1_4 1
532e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
533f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName);
534e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
535e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
536e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
537e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
538fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address
539fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ARB_get_proc_address 1
540fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
541f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName);
542fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
543fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
544fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
545fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
546e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_multisample
547e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_ARB_multisample 1
548e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
549e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
5503cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float
5513cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_ARB_fbconfig_float 1
5523cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
5533cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
554f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
555f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_ARB_create_context 1
556f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
557f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextAttribsARB (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
558f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
559f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
560f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
561f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
56239bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile
56339bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_ARB_create_context_profile 1
56439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif
56539bf48f281a81fc24a6de00cec243672df2be653Brian Paul
566fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_multisample
567fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIS_multisample 1
568fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
569fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
570fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info
571fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_info 1
572fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
573fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
574fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control
575fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_swap_control 1
576fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
577f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSwapIntervalSGI (int interval);
578fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
579fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
580fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
581fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
582fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync
583fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_video_sync 1
584fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
585f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoSyncSGI (unsigned int *count);
586f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int *count);
587fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
588fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
589fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
590fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
591fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
592fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read
593fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_make_current_read 1
594fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
595f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
596fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawableSGI (void);
597fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
598fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
599fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
600fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
601fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
602fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
603fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_source 1
6046ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _VL_H
605fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
606f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
607f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXVideoSourceSGIX (Display *dpy, GLXVideoSourceSGIX glxvideosource);
608fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
609fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
610fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource);
6116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _VL_H */
612fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
613fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
614fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating
615fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_rating 1
616fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
617fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
618fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context
619fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_import_context 1
620fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
621fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplayEXT (void);
622f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContextInfoEXT (Display *dpy, GLXContext context, int attribute, int *value);
623f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContextID glXGetContextIDEXT (const GLXContext context);
624f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID);
625f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXFreeContextEXT (Display *dpy, GLXContext context);
626fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
627fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
628fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
629e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
630fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
631fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
632fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
633fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
634fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
635fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_fbconfig 1
636fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
637f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttribSGIX (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
638f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *dpy, int screen, int *attrib_list, int *nelements);
639f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
640f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
641f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *dpy, GLXFBConfigSGIX config);
642f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *dpy, XVisualInfo *vis);
643fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
644fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
645fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements);
646fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
647fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
648fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config);
649fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis);
650fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
651fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
652fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
653fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_pbuffer 1
654fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
655f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
656f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf);
657f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
658f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long mask);
659f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long *mask);
660fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
661fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
662fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf);
663fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
664fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask);
665fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask);
666fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
667fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
668fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion
669fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_cushion 1
670fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
671f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCushionSGI (Display *dpy, Window window, float cushion);
672fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
673fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
674fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
675fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
676fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize
677fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_resize 1
678fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
679f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindChannelToWindowSGIX (Display *display, int screen, int channel, Window window);
680f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSGIX (Display *display, int screen, int channel, int x, int y, int w, int h);
681f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelRectSGIX (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
682f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelDeltasSGIX (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
683f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSyncSGIX (Display *display, int screen, int channel, GLenum synctype);
684fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
685fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window);
686fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h);
687fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
688fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
689fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype);
690fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
691fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
692fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
693fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_dmbuffer 1
6946ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _DM_BUFFER_H_
695fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
696f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXAssociateDMPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
697fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
698fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
6996ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _DM_BUFFER_H_ */
700fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
701fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
702fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group
703fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_group 1
704fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
705f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member);
706fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
707fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
708fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
709fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
710fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier
711fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_barrier 1
712fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
713f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier);
714f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max);
715fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
716fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
717fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
718fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
719fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
720fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index
721fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SUN_get_transparent_index 1
722fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
723f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Status glXGetTransparentIndexSUN (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
724fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
725fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
726fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
727fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
728fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
729fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_copy_sub_buffer 1
730fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
731f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCopySubBufferMESA (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
732fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
733fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
734fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
735fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
736fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
737fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_pixmap_colormap 1
738fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
739f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
740fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
741fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
742fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
743fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
744fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
745fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_release_buffers 1
746fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
747f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXReleaseBuffersMESA (Display *dpy, GLXDrawable drawable);
748fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
749fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
750fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
751fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
752fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
753fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_set_3dfx_mode 1
754fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
755f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXSet3DfxModeMESA (int mode);
756fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
757fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode);
758fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
759fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
7603d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group
7613d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SGIX_visual_select_group 1
7623d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
7633d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
764e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_OML_swap_method
765e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_OML_swap_method 1
7663d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
7673d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
7686ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_OML_sync_control
7696ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_OML_sync_control 1
770e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
771f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetSyncValuesOML (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
772f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetMscRateOML (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
773f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int64_t glXSwapBuffersMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
774f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXWaitForMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
775f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXWaitForSbcOML (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
776e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
777e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
778e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
779e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
780e3af5354a6090666a03586693865fd0d51d994d0Brian 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);
781e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
7826ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
7836ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7843cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
7853cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_NV_float_buffer 1
7863cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
7873cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
7883cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
7893cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_SGIX_hyperpipe 1
7906ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7916ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7926ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
7936ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     networkId;
7946ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeNetworkSGIX;
7956ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
7966ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
7976ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
7986ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     channel;
7996ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    unsigned int
8006ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul      participationType;
8016ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     timeSlice;
8026ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeConfigSGIX;
8036ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8046ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
8056ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
8066ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
8076ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int destXOrigin, destYOrigin, destWidth, destHeight;
8086ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRect;
8096ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8106ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
8116ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
8126ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int XOrigin, YOrigin, maxHeight, maxWidth;
8136ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRectLimits;
8146ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8156ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
816f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeNetworkSGIX * glXQueryHyperpipeNetworkSGIX (Display *dpy, int *npipes);
817f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeConfigSGIX (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
818f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeConfigSGIX * glXQueryHyperpipeConfigSGIX (Display *dpy, int hpId, int *npipes);
819f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXDestroyHyperpipeConfigSGIX (Display *dpy, int hpId);
820f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindHyperpipeSGIX (Display *dpy, int hpId);
821f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeBestAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
822f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
823f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
8246ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
8256ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
8266ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
8276ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
8286ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
8296ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
8306ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
8316ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
8326ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
8336ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
8346ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8356ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset
8366ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_MESA_agp_offset 1
8376ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
838f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int glXGetAGPOffsetMESA (const void *pointer);
8396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
8406ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer);
8416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
8426ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
84345b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float
84445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_fbconfig_packed_float 1
84545b1f169b420dee39700d0337c2bc451158618e7Brian#endif
84645b1f169b420dee39700d0337c2bc451158618e7Brian
84745b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB
84845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_framebuffer_sRGB 1
84945b1f169b420dee39700d0337c2bc451158618e7Brian#endif
85045b1f169b420dee39700d0337c2bc451158618e7Brian
85145b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap
85245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_texture_from_pixmap 1
85345b1f169b420dee39700d0337c2bc451158618e7Brian#ifdef GLX_GLXEXT_PROTOTYPES
854f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
855f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer);
85645b1f169b420dee39700d0337c2bc451158618e7Brian#endif /* GLX_GLXEXT_PROTOTYPES */
85745b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
85845b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
85945b1f169b420dee39700d0337c2bc451158618e7Brian#endif
86045b1f169b420dee39700d0337c2bc451158618e7Brian
861d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
862d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_present_video 1
863559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
864f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int * glXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements);
865f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
866559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
867559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
868559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
869d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
870d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
871559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output
872559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_output 1
873559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
874f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoDeviceNV (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
875f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoDeviceNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
876f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoImageNV (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
877f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoImageNV (Display *dpy, GLXPbuffer pbuf);
878f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSendPbufferToVideoNV (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
879f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoInfoNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
880559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
881559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
882559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
883559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
884559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf);
885559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
886559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
887d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
888d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
889d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
890d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_swap_group 1
891559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
892f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXJoinSwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint group);
893f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXBindSwapBarrierNV (Display *dpy, GLuint group, GLuint barrier);
894f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQuerySwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
895f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapGroupsNV (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
896f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryFrameCountNV (Display *dpy, int screen, GLuint *count);
897f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXResetFrameCountNV (Display *dpy, int screen);
898559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
899559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group);
900559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier);
901559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
902559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
903559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count);
904559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
905559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
906559da98c2be577d918a847080b78033947a1767aBrian Paul
907559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
908559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_capture 1
909559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
910f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
911f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoCaptureDeviceNV * glXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements);
912f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
913f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
914f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
915559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
916559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
917559da98c2be577d918a847080b78033947a1767aBrian Paultypedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements);
918559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
919559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
920559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
921559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
922559da98c2be577d918a847080b78033947a1767aBrian Paul
923559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control
924559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_EXT_swap_control 1
925559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
926f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSwapIntervalEXT (Display *dpy, GLXDrawable drawable, int interval);
927559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
928559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval);
929559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
930559da98c2be577d918a847080b78033947a1767aBrian Paul
931559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image
932559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_copy_image 1
933559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
934f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void 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);
935559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
936559da98c2be577d918a847080b78033947a1767aBrian 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);
937d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
938d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
939f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event
940f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_INTEL_swap_event 1
941f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif
942f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick
9433cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
944fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus
945fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul}
946fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
947fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
948fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
949