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/*
952dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul** Copyright (c) 2007-2012 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 */
5152dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul/* glxext.h last updated 2012/02/29 */
523cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Current version at http://www.opengl.org/registry/ */
5352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#define GLX_GLXEXT_VERSION 33
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
136b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_framebuffer_sRGB
137b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB   0x20B2
138b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
139b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
140f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
141f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_DEBUG_BIT_ARB          0x00000001
142f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
143f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MAJOR_VERSION_ARB      0x2091
144f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_MINOR_VERSION_ARB      0x2092
145f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_CONTEXT_FLAGS_ARB              0x2094
146f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
147f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
14839bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile
14939bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB   0x00000001
15039bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
15139bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_CONTEXT_PROFILE_MASK_ARB       0x9126
15239bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif
15339bf48f281a81fc24a6de00cec243672df2be653Brian Paul
154b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_create_context_robustness
155b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB  0x00000004
156b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_LOSE_CONTEXT_ON_RESET_ARB      0x8252
157b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
158b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_NO_RESET_NOTIFICATION_ARB      0x8261
159b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
160b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
1612a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#ifndef GLX_SGIS_multisample
1622a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLE_BUFFERS_SGIS            100000
1632a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#define GLX_SAMPLES_SGIS                   100001
1642a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul#endif
1652a3cc7d90742bc173666b7b32153bce944c019e0Brian Paul
166fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info
167fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_VISUAL_TYPE_EXT              0x22
168fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_TYPE_EXT           0x23
169fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_VALUE_EXT    0x24
170fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RED_VALUE_EXT      0x25
171fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_GREEN_VALUE_EXT    0x26
172fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_BLUE_VALUE_EXT     0x27
173fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_ALPHA_VALUE_EXT    0x28
174fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NONE_EXT                       0x8000
175fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRUE_COLOR_EXT                 0x8002
176fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIRECT_COLOR_EXT               0x8003
177fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PSEUDO_COLOR_EXT               0x8004
178fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_COLOR_EXT               0x8005
179fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_GRAY_SCALE_EXT                 0x8006
180fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STATIC_GRAY_EXT                0x8007
181fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_RGB_EXT            0x8008
182fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_TRANSPARENT_INDEX_EXT          0x8009
183fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
184fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
185fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control
186fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
187fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
188fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync
189fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
190fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
191fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read
192fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
193fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
194fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
195fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
196fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
197fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating
198fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_CAVEAT_EXT              0x20
199fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SLOW_VISUAL_EXT                0x8001
200fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_NON_CONFORMANT_VISUAL_EXT      0x800D
201fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_NONE_EXT */
202fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
203fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
204fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context
205fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SHARE_CONTEXT_EXT              0x800A
206fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VISUAL_ID_EXT                  0x800B
207fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SCREEN_EXT                     0x800C
208fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
209fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
210fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
211fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_BIT_SGIX                0x00000001
212fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PIXMAP_BIT_SGIX                0x00000002
213fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_BIT_SGIX                  0x00000001
214fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_BIT_SGIX           0x00000002
215fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DRAWABLE_TYPE_SGIX             0x8010
216fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RENDER_TYPE_SGIX               0x8011
217fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_X_RENDERABLE_SGIX              0x8012
218fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FBCONFIG_ID_SGIX               0x8013
219fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_RGBA_TYPE_SGIX                 0x8014
220fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_COLOR_INDEX_TYPE_SGIX          0x8015
221fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/* reuse GLX_SCREEN_EXT */
222fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
223fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
224fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
225fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_BIT_SGIX               0x00000004
226fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BUFFER_CLOBBER_MASK_SGIX       0x08000000
227fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX     0x00000001
228fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX    0x00000002
229fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_LEFT_BUFFER_BIT_SGIX      0x00000004
230fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX     0x00000008
231fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_AUX_BUFFERS_BIT_SGIX           0x00000010
232fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DEPTH_BUFFER_BIT_SGIX          0x00000020
233fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_STENCIL_BUFFER_BIT_SGIX        0x00000040
234fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ACCUM_BUFFER_BIT_SGIX          0x00000080
235fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_BIT_SGIX        0x00000100
236fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_WIDTH_SGIX         0x8016
237fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_HEIGHT_SGIX        0x8017
238fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MAX_PBUFFER_PIXELS_SGIX        0x8018
239fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX     0x8019
240fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX    0x801A
241fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PRESERVED_CONTENTS_SGIX        0x801B
242fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_LARGEST_PBUFFER_SGIX           0x801C
243fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WIDTH_SGIX                     0x801D
244fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_HEIGHT_SGIX                    0x801E
245fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EVENT_MASK_SGIX                0x801F
246fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DAMAGED_SGIX                   0x8020
247fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAVED_SGIX                     0x8021
248fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_WINDOW_SGIX                    0x8022
249fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_PBUFFER_SGIX                   0x8023
250fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
251fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
252fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion
253fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
254fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
255fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize
256fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_FRAME_SGIX                0x00000000
257fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SYNC_SWAP_SGIX                 0x00000001
258fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
259fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
260fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
261fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_DIGITAL_MEDIA_PBUFFER_SGIX     0x8024
262fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
263fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
264fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group
265fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
266fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
267fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier
268fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
269fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
270fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_blended_overlay
271fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_BLENDED_RGBA_SGIS              0x8025
272fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
273fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
274fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_shared_multisample
275fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
276fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
277fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
278fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
279fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index
280fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
281fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
282fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_3DFX_multisample
283fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLE_BUFFERS_3DFX            0x8050
284fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SAMPLES_3DFX                   0x8051
285fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
286fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
287fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
288fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
289fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
290fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
291fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
292fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
293fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
294fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
295fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
296fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
297fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_WINDOW_MODE_MESA          0x1
298fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_3DFX_FULLSCREEN_MODE_MESA      0x2
299fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
300fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
3013d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group
3023d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_VISUAL_SELECT_GROUP_SGIX       0x8028
3033d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
3043d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
3053d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_swap_method
3063d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_METHOD_OML                0x8060
3073d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_EXCHANGE_OML              0x8061
3083d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_COPY_OML                  0x8062
3093d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SWAP_UNDEFINED_OML             0x8063
3103d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
3113d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
3123d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_OML_sync_control
3133d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
3143d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
3153cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
3163cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_FLOAT_COMPONENTS_NV            0x20B0
3173cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
3183cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
3193cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
3206ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
3216ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_CONFIG_SGIX      91
3226ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_BAD_HYPERPIPE_SGIX             92
3236ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX    0x00000001
3246ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_RENDER_PIPE_SGIX     0x00000002
3256ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_SGIX                 0x00000001
3266ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_PIPE_RECT_LIMITS_SGIX          0x00000002
3276ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_STEREO_SGIX          0x00000003
3286ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX   0x00000004
3296ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_HYPERPIPE_ID_SGIX              0x8030
3306ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
3316ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
3326ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset
3336ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
3346ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
33545b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float
33645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT   0x20B1
33745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT    0x00000008
33845b1f169b420dee39700d0337c2bc451158618e7Brian#endif
33945b1f169b420dee39700d0337c2bc451158618e7Brian
34045b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB
34145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT   0x20B2
34245b1f169b420dee39700d0337c2bc451158618e7Brian#endif
34345b1f169b420dee39700d0337c2bc451158618e7Brian
34445b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap
34545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_BIT_EXT             0x00000001
34645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_BIT_EXT             0x00000002
34745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_BIT_EXT      0x00000004
34845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGB_EXT        0x20D0
34945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_RGBA_EXT       0x20D1
35045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT     0x20D2
35145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BIND_TO_TEXTURE_TARGETS_EXT    0x20D3
35245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_Y_INVERTED_EXT                 0x20D4
35345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_EXT             0x20D5
35445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_TARGET_EXT             0x20D6
35545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_MIPMAP_TEXTURE_EXT             0x20D7
35645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_NONE_EXT        0x20D8
35745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGB_EXT         0x20D9
35845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_FORMAT_RGBA_EXT        0x20DA
35945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_1D_EXT                 0x20DB
36045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_2D_EXT                 0x20DC
36145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_TEXTURE_RECTANGLE_EXT          0x20DD
36245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_LEFT_EXT                 0x20DE
36345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_RIGHT_EXT                0x20DF
36445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_LEFT_EXT                  0x20E0
36545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_RIGHT_EXT                 0x20E1
36645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
36745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
36845b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX0_EXT                       0x20E2
36945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX1_EXT                       0x20E3
37045b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX2_EXT                       0x20E4
37145b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX3_EXT                       0x20E5
37245b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX4_EXT                       0x20E6
37345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX5_EXT                       0x20E7
37445b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX6_EXT                       0x20E8
37545b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX7_EXT                       0x20E9
37645b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX8_EXT                       0x20EA
37745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_AUX9_EXT                       0x20EB
37845b1f169b420dee39700d0337c2bc451158618e7Brian#endif
37945b1f169b420dee39700d0337c2bc451158618e7Brian
380d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
3813efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_NUM_VIDEO_SLOTS_NV             0x20F0
382d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
383d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
384d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_video_out
3853efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_NV             0x20C3
3863efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_ALPHA_NV             0x20C4
3873efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_DEPTH_NV             0x20C5
3883efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV   0x20C6
3893efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV   0x20C7
3903efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FRAME_NV             0x20C8
3913efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_1_NV           0x20C9
3923efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_FIELD_2_NV           0x20CA
3933efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
3943efd3b15124acab4dbb7c4a7cd01309100370934Brian Paul#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
395d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
396d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
397d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
398d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
399d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
400559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
401559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_DEVICE_ID_NV                   0x20CD
402559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_UNIQUE_ID_NV                   0x20CE
403559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV     0x20CF
404559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
405559da98c2be577d918a847080b78033947a1767aBrian Paul
406559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control
407559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_SWAP_INTERVAL_EXT              0x20F1
408559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_MAX_SWAP_INTERVAL_EXT          0x20F2
409559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
410559da98c2be577d918a847080b78033947a1767aBrian Paul
411559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image
412559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
413559da98c2be577d918a847080b78033947a1767aBrian Paul
414f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event
415f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
416f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_EXCHANGE_COMPLETE_INTEL        0x8180
417f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_COPY_COMPLETE_INTEL            0x8181
418f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_FLIP_COMPLETE_INTEL            0x8182
419f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif
420f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick
421b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_NV_multisample_coverage
422b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_COVERAGE_SAMPLES_NV            100001
423b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_COLOR_SAMPLES_NV               0x20B3
424b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
425b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
426b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_AMD_gpu_association
427b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_VENDOR_AMD                 0x1F00
428b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_RENDERER_STRING_AMD        0x1F01
429b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_OPENGL_VERSION_STRING_AMD  0x1F02
430b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_FASTEST_TARGET_GPUS_AMD    0x21A2
431b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_RAM_AMD                    0x21A3
432b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_CLOCK_AMD                  0x21A4
433b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_PIPES_AMD              0x21A5
434b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_SIMD_AMD               0x21A6
435b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_RB_AMD                 0x21A7
436b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_GPU_NUM_SPI_AMD                0x21A8
437b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
438b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
439b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_EXT_create_context_es2_profile
440b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT    0x00000004
441b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
442b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
44352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#ifndef GLX_EXT_swap_control_tear
44452dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#define GLX_LATE_SWAPS_TEAR_EXT            0x20F3
44552dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#endif
44652dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul
447fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
448fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul/*************************************************************/
449fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
450fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address
451b95884c53de33bdd6ec843a8ddd7243cfb93a208Brian Paultypedef void (*__GLXextFuncPtr)(void);
452fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
453fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
454fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
455fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXVideoSourceSGIX;
456fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
457fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
458fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
459fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXFBConfigIDSGIX;
460fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
461fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
462fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
463fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
464fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XID GLXPbufferSGIX;
465fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef struct {
466fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int type;
467fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    unsigned long serial;	  /* # of last request processed by server */
468fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    Bool send_event;		  /* true if this came for SendEvent request */
469fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    Display *display;		  /* display the event was read from */
470fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    GLXDrawable drawable;	  /* i.d. of Drawable */
471fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int event_type;		  /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
472fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int draw_type;		  /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
473fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    unsigned int mask;	  /* mask indicating which buffers are affected*/
474fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int x, y;
475fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int width, height;
476fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul    int count;		  /* if nonzero, at least this many more */
477fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul} GLXBufferClobberEventSGIX;
478fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
479fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
480559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output
481559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int GLXVideoDeviceNV;
482559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
483559da98c2be577d918a847080b78033947a1767aBrian Paul
484559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
485559da98c2be577d918a847080b78033947a1767aBrian Paultypedef XID GLXVideoCaptureDeviceNV;
486559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
487559da98c2be577d918a847080b78033947a1767aBrian Paul
4883cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLEXT_64_TYPES_DEFINED
489b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz/* This code block is duplicated in glext.h, so must be protected */
4903cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLEXT_64_TYPES_DEFINED
4913cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
4923cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul/* (as used in the GLX_OML_sync_control extension). */
4933cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
4943cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>
495967c1056d5e86231e4a545a748973e1123cd19c1Brian#elif defined(__sun__) || defined(__digital__)
4969f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#include <inttypes.h>
4979f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#if defined(__STDC__)
498b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#if defined(__arch64__) || defined(_LP64)
4999f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanicktypedef long int int64_t;
5003cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long int uint64_t;
5019f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#else
5023cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
5033cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
5049f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __arch64__ */
5059f23a3a1bff6c8af93e651273c9887bbf119f555Ian Romanick#endif /* __STDC__ */
506b7c54945fe212811d9749b623f582569522bc440Blair Sadewitz#elif defined( __VMS ) || defined(__sgi)
507538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#include <inttypes.h>
508538541e3002e7271fad21c0e5c21b65c0db90e45Brian Paul#elif defined(__SCO__) || defined(__USLC__)
50938b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#include <stdint.h>
5103cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#elif defined(__UNIXOS2__) || defined(__SOL64__)
5113cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long int int32_t;
5123cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef long long int int64_t;
5133cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paultypedef unsigned long long int uint64_t;
51445b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32) && defined(__GNUC__)
515160b3284dd3cdad106ad9aebf5fed7e9ff7b142bBrian Paul#include <stdint.h>
51645b1f169b420dee39700d0337c2bc451158618e7Brian#elif defined(_WIN32)
51745b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int32 int32_t;
51845b1f169b420dee39700d0337c2bc451158618e7Briantypedef __int64 int64_t;
51945b1f169b420dee39700d0337c2bc451158618e7Briantypedef unsigned __int64 uint64_t;
5203cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#else
5213cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#include <inttypes.h>     /* Fallback option */
5223cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
52338b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane#endif
52438b317d508a2a3a4cc6d700ebca80c3b06c913e2Alan Hourihane
525fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_VERSION_1_3
526fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_VERSION_1_3 1
527fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
528f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXGetFBConfigs (Display *dpy, int screen, int *nelements);
529f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfig * glXChooseFBConfig (Display *dpy, int screen, const int *attrib_list, int *nelements);
530f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttrib (Display *dpy, GLXFBConfig config, int attribute, int *value);
531f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfig (Display *dpy, GLXFBConfig config);
532f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXWindow glXCreateWindow (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
533f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyWindow (Display *dpy, GLXWindow win);
534f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreatePixmap (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
535f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPixmap (Display *dpy, GLXPixmap pixmap);
536f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbuffer glXCreatePbuffer (Display *dpy, GLXFBConfig config, const int *attrib_list);
537f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyPbuffer (Display *dpy, GLXPbuffer pbuf);
538f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXQueryDrawable (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
539f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateNewContext (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
540f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeContextCurrent (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
541fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawable (void);
542fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplay (void);
543f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContext (Display *dpy, GLXContext ctx, int attribute, int *value);
544f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEvent (Display *dpy, GLXDrawable draw, unsigned long event_mask);
545f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEvent (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
546fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
547fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
548fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfig * ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
549fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
550fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
551fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
552fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
553fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
554fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
555fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
556fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
557fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
558fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
559fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
560fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
561fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
562fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
563fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
564fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
565fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
566fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
567e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_VERSION_1_4
568e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_VERSION_1_4 1
569e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
570f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddress (const GLubyte *procName);
571e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
572e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
573e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
574e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
575fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_ARB_get_proc_address
576fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_ARB_get_proc_address 1
577fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
578f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName);
579fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
580fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef __GLXextFuncPtr ( * PFNGLXGETPROCADDRESSARBPROC) (const GLubyte *procName);
581fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
582fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
583e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_ARB_multisample
584e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_ARB_multisample 1
585e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif
586e3af5354a6090666a03586693865fd0d51d994d0Brian Paul
5873cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_ARB_fbconfig_float
5883cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_ARB_fbconfig_float 1
5893cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
5903cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
591b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_framebuffer_sRGB
592b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_ARB_framebuffer_sRGB 1
593b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
594b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
595f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifndef GLX_ARB_create_context
596f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#define GLX_ARB_create_context 1
597f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
598f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextAttribsARB (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
599f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
600f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
601f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul#endif
602f7b4c2cca9ea9013f527b25ae45605047c58d64cBrian Paul
60339bf48f281a81fc24a6de00cec243672df2be653Brian Paul#ifndef GLX_ARB_create_context_profile
60439bf48f281a81fc24a6de00cec243672df2be653Brian Paul#define GLX_ARB_create_context_profile 1
60539bf48f281a81fc24a6de00cec243672df2be653Brian Paul#endif
60639bf48f281a81fc24a6de00cec243672df2be653Brian Paul
607b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_ARB_create_context_robustness
608b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_ARB_create_context_robustness 1
609b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
610b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
611fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIS_multisample
612fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIS_multisample 1
613fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
614fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
615fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_info
616fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_info 1
617fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
618fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
619fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_swap_control
620fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_swap_control 1
621fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
622f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSwapIntervalSGI (int interval);
623fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
624fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
625fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
626fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
627fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_video_sync
628fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_video_sync 1
629fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
630f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoSyncSGI (unsigned int *count);
631f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int *count);
632fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
633fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int *count);
634fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int *count);
635fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
636fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
637fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_make_current_read
638fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_make_current_read 1
639fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
640f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXMakeCurrentReadSGI (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
641fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern GLXDrawable glXGetCurrentReadDrawableSGI (void);
642fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
643fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
644fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
645fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
646fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
647fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_source
648fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_source 1
6496ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _VL_H
650fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
651f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoSourceSGIX glXCreateGLXVideoSourceSGIX (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
652f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXVideoSourceSGIX (Display *dpy, GLXVideoSourceSGIX glxvideosource);
653fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
654fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXVideoSourceSGIX ( * PFNGLXCREATEGLXVIDEOSOURCESGIXPROC) (Display *display, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
655fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC) (Display *dpy, GLXVideoSourceSGIX glxvideosource);
6566ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _VL_H */
657fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
658fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
659fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_visual_rating
660fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_visual_rating 1
661fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
662fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
663fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_EXT_import_context
664fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_EXT_import_context 1
665fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
666fed386cdc02d1f49f68e490f316f2533451e4616Brian Paulextern Display * glXGetCurrentDisplayEXT (void);
667f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryContextInfoEXT (Display *dpy, GLXContext context, int attribute, int *value);
668f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContextID glXGetContextIDEXT (const GLXContext context);
669f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXImportContextEXT (Display *dpy, GLXContextID contextID);
670f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXFreeContextEXT (Display *dpy, GLXContext context);
671fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
672fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Display * ( * PFNGLXGETCURRENTDISPLAYEXTPROC) (void);
673fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display *dpy, GLXContext context, int attribute, int *value);
674e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
675fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display *dpy, GLXContextID contextID);
676fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display *dpy, GLXContext context);
677fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
678fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
679fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_fbconfig
680fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_fbconfig 1
681fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
682f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetFBConfigAttribSGIX (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
683f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX * glXChooseFBConfigSGIX (Display *dpy, int screen, int *attrib_list, int *nelements);
684f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
685f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXContext glXCreateContextWithConfigSGIX (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
686f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern XVisualInfo * glXGetVisualFromFBConfigSGIX (Display *dpy, GLXFBConfigSGIX config);
687f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX (Display *dpy, XVisualInfo *vis);
688fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
689fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
690fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX * ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, int *attrib_list, int *nelements);
691fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
692fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
693fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef XVisualInfo * ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfigSGIX config);
694fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display *dpy, XVisualInfo *vis);
695fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
696fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
697fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_pbuffer
698fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_pbuffer 1
699fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
700f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
701f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXDestroyGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf);
702f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryGLXPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
703f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXSelectEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long mask);
704f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXGetSelectedEventSGIX (Display *dpy, GLXDrawable drawable, unsigned long *mask);
705fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
706fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPbufferSGIX ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
707fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf);
708fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
709fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long mask);
710fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display *dpy, GLXDrawable drawable, unsigned long *mask);
711fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
712fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
713fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGI_cushion
714fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGI_cushion 1
715fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
716f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCushionSGI (Display *dpy, Window window, float cushion);
717fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
718fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCUSHIONSGIPROC) (Display *dpy, Window window, float cushion);
719fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
720fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
721fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_video_resize
722fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_video_resize 1
723fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
724f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindChannelToWindowSGIX (Display *display, int screen, int channel, Window window);
725f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSGIX (Display *display, int screen, int channel, int x, int y, int w, int h);
726f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelRectSGIX (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
727f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryChannelDeltasSGIX (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
728f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXChannelRectSyncSGIX (Display *display, int screen, int channel, GLenum synctype);
729fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
730fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display *display, int screen, int channel, Window window);
731fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int x, int y, int w, int h);
732fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
733fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
734fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display *display, int screen, int channel, GLenum synctype);
735fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
736fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
737fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_dmbuffer
738fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_dmbuffer 1
7396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef _DM_BUFFER_H_
740fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
741f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXAssociateDMPbufferSGIX (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
742fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
743fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXASSOCIATEDMPBUFFERSGIXPROC) (Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
7446ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* _DM_BUFFER_H_ */
745fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
746fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
747fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_group
748fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_group 1
749fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
750f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member);
751fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
752fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
753fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
754fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
755fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SGIX_swap_barrier
756fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SGIX_swap_barrier 1
757fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
758f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier);
759f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max);
760fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
761fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
762fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
763fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
764fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
765fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_SUN_get_transparent_index
766fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_SUN_get_transparent_index 1
767fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
768f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Status glXGetTransparentIndexSUN (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
769fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
770fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
771fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
772fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
773fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_copy_sub_buffer
774fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_copy_sub_buffer 1
775fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
776f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXCopySubBufferMESA (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
777fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
778fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
779fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
780fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
781fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_pixmap_colormap
782fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_pixmap_colormap 1
783fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
784f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
785fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
786fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
787fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
788fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
789fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_release_buffers
790fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_release_buffers 1
791fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
792f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXReleaseBuffersMESA (Display *dpy, GLXDrawable drawable);
793fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
794fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
795fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
796fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
797fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifndef GLX_MESA_set_3dfx_mode
798fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#define GLX_MESA_set_3dfx_mode 1
799fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
800f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXSet3DfxModeMESA (int mode);
801fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
802fed386cdc02d1f49f68e490f316f2533451e4616Brian Paultypedef Bool ( * PFNGLXSET3DFXMODEMESAPROC) (int mode);
803fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
804fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
8053d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#ifndef GLX_SGIX_visual_select_group
8063d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#define GLX_SGIX_visual_select_group 1
8073d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
8083d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
809e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifndef GLX_OML_swap_method
810e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#define GLX_OML_swap_method 1
8113d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul#endif
8123d16c369d9ab3b1f5c7c64b052fc939a3b39e2a0Brian Paul
8136ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_OML_sync_control
8146ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_OML_sync_control 1
815e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
816f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetSyncValuesOML (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
817f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXGetMscRateOML (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
818f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int64_t glXSwapBuffersMscOML (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
819f66733e0773b4ec794438dd2422aeb28a791addaIan 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);
820f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXWaitForSbcOML (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
821e3af5354a6090666a03586693865fd0d51d994d0Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
822e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
823e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
824e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
825e3af5354a6090666a03586693865fd0d51d994d0Brian 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);
826e3af5354a6090666a03586693865fd0d51d994d0Brian Paultypedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
8276ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
8286ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8293cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_NV_float_buffer
8303cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_NV_float_buffer 1
8313cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#endif
8323cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
8333cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#ifndef GLX_SGIX_hyperpipe
8343cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul#define GLX_SGIX_hyperpipe 1
8356ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8366ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
8376ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
8386ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     networkId;
8396ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeNetworkSGIX;
8406ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8416ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
8426ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
8436ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     channel;
8446ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    unsigned int
8456ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul      participationType;
8466ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int     timeSlice;
8476ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXHyperpipeConfigSGIX;
8486ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8496ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
8506ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
8516ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
8526ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int destXOrigin, destYOrigin, destWidth, destHeight;
8536ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRect;
8546ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8556ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef struct {
8566ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
8576ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul    int XOrigin, YOrigin, maxHeight, maxWidth;
8586ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul} GLXPipeRectLimits;
8596ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8606ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
861f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeNetworkSGIX * glXQueryHyperpipeNetworkSGIX (Display *dpy, int *npipes);
862f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeConfigSGIX (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
863f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXHyperpipeConfigSGIX * glXQueryHyperpipeConfigSGIX (Display *dpy, int hpId, int *npipes);
864f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXDestroyHyperpipeConfigSGIX (Display *dpy, int hpId);
865f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindHyperpipeSGIX (Display *dpy, int hpId);
866f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeBestAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
867f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
868f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryHyperpipeAttribSGIX (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
8696ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
8706ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
8716ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
8726ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
8736ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
8746ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
8756ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
8766ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
8776ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
8786ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
8796ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
8806ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifndef GLX_MESA_agp_offset
8816ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#define GLX_MESA_agp_offset 1
8826ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#ifdef GLX_GLXEXT_PROTOTYPES
883f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int glXGetAGPOffsetMESA (const void *pointer);
8846ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
8856ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paultypedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void *pointer);
8866ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul#endif
8876ade8a36b63caf93d7ffda8f789e2c94bad12c31Brian Paul
88845b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_fbconfig_packed_float
88945b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_fbconfig_packed_float 1
89045b1f169b420dee39700d0337c2bc451158618e7Brian#endif
89145b1f169b420dee39700d0337c2bc451158618e7Brian
89245b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_framebuffer_sRGB
89345b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_framebuffer_sRGB 1
89445b1f169b420dee39700d0337c2bc451158618e7Brian#endif
89545b1f169b420dee39700d0337c2bc451158618e7Brian
89645b1f169b420dee39700d0337c2bc451158618e7Brian#ifndef GLX_EXT_texture_from_pixmap
89745b1f169b420dee39700d0337c2bc451158618e7Brian#define GLX_EXT_texture_from_pixmap 1
89845b1f169b420dee39700d0337c2bc451158618e7Brian#ifdef GLX_GLXEXT_PROTOTYPES
899f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXBindTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
900f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseTexImageEXT (Display *dpy, GLXDrawable drawable, int buffer);
90145b1f169b420dee39700d0337c2bc451158618e7Brian#endif /* GLX_GLXEXT_PROTOTYPES */
90245b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
90345b1f169b420dee39700d0337c2bc451158618e7Briantypedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display *dpy, GLXDrawable drawable, int buffer);
90445b1f169b420dee39700d0337c2bc451158618e7Brian#endif
90545b1f169b420dee39700d0337c2bc451158618e7Brian
906d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_present_video
907d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_present_video 1
908559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
909f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern unsigned int * glXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements);
910f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
911559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
912559da98c2be577d918a847080b78033947a1767aBrian Paultypedef unsigned int * ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
913559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
914d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
915d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
916559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_output
917559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_output 1
918559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
919f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoDeviceNV (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
920f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoDeviceNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
921f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoImageNV (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
922f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXReleaseVideoImageNV (Display *dpy, GLXPbuffer pbuf);
923f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXSendPbufferToVideoNV (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
924f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXGetVideoInfoNV (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
925559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
926559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
927559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
928559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
929559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display *dpy, GLXPbuffer pbuf);
930559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
931559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
932d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
933d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
934d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#ifndef GLX_NV_swap_group
935d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#define GLX_NV_swap_group 1
936559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
937f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXJoinSwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint group);
938f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXBindSwapBarrierNV (Display *dpy, GLuint group, GLuint barrier);
939f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQuerySwapGroupNV (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
940f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryMaxSwapGroupsNV (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
941f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXQueryFrameCountNV (Display *dpy, int screen, GLuint *count);
942f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern Bool glXResetFrameCountNV (Display *dpy, int screen);
943559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
944559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint group);
945559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display *dpy, GLuint group, GLuint barrier);
946559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
947559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
948559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display *dpy, int screen, GLuint *count);
949559da98c2be577d918a847080b78033947a1767aBrian Paultypedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display *dpy, int screen);
950559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
951559da98c2be577d918a847080b78033947a1767aBrian Paul
952559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_video_capture
953559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_video_capture 1
954559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
955f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
956f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern GLXVideoCaptureDeviceNV * glXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements);
957f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
958f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern int glXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
959f66733e0773b4ec794438dd2422aeb28a791addaIan Romanickextern void glXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
960559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
961559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
962559da98c2be577d918a847080b78033947a1767aBrian Paultypedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display *dpy, int screen, int *nelements);
963559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
964559da98c2be577d918a847080b78033947a1767aBrian Paultypedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
965559da98c2be577d918a847080b78033947a1767aBrian Paultypedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display *dpy, GLXVideoCaptureDeviceNV device);
966559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
967559da98c2be577d918a847080b78033947a1767aBrian Paul
968559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_EXT_swap_control
969559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_EXT_swap_control 1
970559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
97152dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paulextern void glXSwapIntervalEXT (Display *dpy, GLXDrawable drawable, int interval);
972559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
97352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paultypedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, int interval);
974559da98c2be577d918a847080b78033947a1767aBrian Paul#endif
975559da98c2be577d918a847080b78033947a1767aBrian Paul
976559da98c2be577d918a847080b78033947a1767aBrian Paul#ifndef GLX_NV_copy_image
977559da98c2be577d918a847080b78033947a1767aBrian Paul#define GLX_NV_copy_image 1
978559da98c2be577d918a847080b78033947a1767aBrian Paul#ifdef GLX_GLXEXT_PROTOTYPES
979f66733e0773b4ec794438dd2422aeb28a791addaIan 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);
980559da98c2be577d918a847080b78033947a1767aBrian Paul#endif /* GLX_GLXEXT_PROTOTYPES */
981559da98c2be577d918a847080b78033947a1767aBrian 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);
982d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul#endif
983d80d0bb4d6956ce340ec8750c98a9c7a136657feBrian Paul
984f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#ifndef GLX_INTEL_swap_event
985f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#define GLX_INTEL_swap_event 1
986f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick#endif
987f66733e0773b4ec794438dd2422aeb28a791addaIan Romanick
988b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#ifndef GLX_NV_multisample_coverage
989b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#define GLX_NV_multisample_coverage 1
990b106e6261a088c6ab97f774508940c2aa935204eBrian Paul#endif
991b106e6261a088c6ab97f774508940c2aa935204eBrian Paul
99252dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#ifndef GLX_EXT_swap_control_tear
99352dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#define GLX_EXT_swap_control_tear 1
99452dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul#endif
99552dd8961eb02a1a76a8ba658fb8ef2777fee569cBrian Paul
9963cd07d2c390099ca0f9b2e27a548920f880715c4Brian Paul
997fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#ifdef __cplusplus
998fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul}
999fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
1000fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul
1001fed386cdc02d1f49f68e490f316f2533451e4616Brian Paul#endif
1002