1 /**
2  * Loader generated by glad 0.1.11a0 on Wed Jun 13 07:59:53 2018
3  *
4  * Generator: C/C++
5  * Specification: glx
6  * Extensions: 63
7  *
8  * APIs:
9  *  - glx=1.4
10  *
11  * Options:
12  *  - MX = False
13  *  - DEBUG = False
14  *  - MX_GLOBAL = False
15  *  - HEADER_ONLY = False
16  *  - LOADER = True
17  *  - ALIAS = False
18  *
19  * Commandline:
20  *    --api='glx=1.4' --extensions='GLX_MESA_copy_sub_buffer,GLX_EXT_create_context_es_profile,GLX_SGIX_pbuffer,GLX_SGI_make_current_read,GLX_OML_sync_control,GLX_SGIX_hyperpipe,GLX_INTEL_swap_event,GLX_EXT_swap_control,GLX_NV_robustness_video_memory_purge,GLX_MESA_pixmap_colormap,GLX_ARB_fbconfig_float,GLX_EXT_fbconfig_packed_float,GLX_OML_swap_method,GLX_NV_video_capture,GLX_ARB_robustness_application_isolation,GLX_ARB_create_context_robustness,GLX_EXT_visual_rating,GLX_NV_swap_group,GLX_EXT_texture_from_pixmap,GLX_SUN_get_transparent_index,GLX_MESA_release_buffers,GLX_NV_delay_before_swap,GLX_EXT_buffer_age,GLX_MESA_agp_offset,GLX_EXT_visual_info,GLX_SGI_swap_control,GLX_EXT_import_context,GLX_SGI_video_sync,GLX_3DFX_multisample,GLX_ARB_multisample,GLX_EXT_framebuffer_sRGB,GLX_SGI_cushion,GLX_ARB_robustness_share_group_isolation,GLX_SGIX_fbconfig,GLX_NV_copy_buffer,GLX_SGIX_visual_select_group,GLX_EXT_swap_control_tear,GLX_ARB_create_context,GLX_AMD_gpu_association,GLX_MESA_query_renderer,GLX_EXT_create_context_es2_profile,GLX_MESA_swap_control,GLX_SGIX_video_resize,GLX_ARB_context_flush_control,GLX_NV_video_out,GLX_EXT_no_config_context,GLX_SGIS_blended_overlay,GLX_EXT_stereo_tree,GLX_ARB_create_context_no_error,GLX_EXT_libglvnd,GLX_ARB_create_context_profile,GLX_NV_float_buffer,GLX_MESA_set_3dfx_mode,GLX_ARB_framebuffer_sRGB,GLX_ARB_get_proc_address,GLX_SGIS_shared_multisample,GLX_NV_copy_image,GLX_NV_present_video,GLX_SGIX_swap_barrier,GLX_SGIS_multisample,GLX_SGIX_swap_group,GLX_ARB_vertex_buffer_object,GLX_NV_multisample_coverage' c --loader
21  *
22  * Online:
23  *    http://glad2.dav1d.de/#merge=off&api=glx%3D1.4&extensions=GLX_MESA_copy_sub_buffer%2CGLX_EXT_create_context_es_profile%2CGLX_SGIX_pbuffer%2CGLX_SGI_make_current_read%2CGLX_OML_sync_control%2CGLX_SGIX_hyperpipe%2CGLX_INTEL_swap_event%2CGLX_EXT_swap_control%2CGLX_NV_robustness_video_memory_purge%2CGLX_MESA_pixmap_colormap%2CGLX_ARB_fbconfig_float%2CGLX_EXT_fbconfig_packed_float%2CGLX_OML_swap_method%2CGLX_NV_video_capture%2CGLX_ARB_robustness_application_isolation%2CGLX_ARB_create_context_robustness%2CGLX_EXT_visual_rating%2CGLX_NV_swap_group%2CGLX_EXT_texture_from_pixmap%2CGLX_SUN_get_transparent_index%2CGLX_MESA_release_buffers%2CGLX_NV_delay_before_swap%2CGLX_EXT_buffer_age%2CGLX_MESA_agp_offset%2CGLX_EXT_visual_info%2CGLX_SGI_swap_control%2CGLX_EXT_import_context%2CGLX_SGI_video_sync%2CGLX_3DFX_multisample%2CGLX_ARB_multisample%2CGLX_EXT_framebuffer_sRGB%2CGLX_SGI_cushion%2CGLX_ARB_robustness_share_group_isolation%2CGLX_SGIX_fbconfig%2CGLX_NV_copy_buffer%2CGLX_SGIX_visual_select_group%2CGLX_EXT_swap_control_tear%2CGLX_ARB_create_context%2CGLX_AMD_gpu_association%2CGLX_MESA_query_renderer%2CGLX_EXT_create_context_es2_profile%2CGLX_MESA_swap_control%2CGLX_SGIX_video_resize%2CGLX_ARB_context_flush_control%2CGLX_NV_video_out%2CGLX_EXT_no_config_context%2CGLX_SGIS_blended_overlay%2CGLX_EXT_stereo_tree%2CGLX_ARB_create_context_no_error%2CGLX_EXT_libglvnd%2CGLX_ARB_create_context_profile%2CGLX_NV_float_buffer%2CGLX_MESA_set_3dfx_mode%2CGLX_ARB_framebuffer_sRGB%2CGLX_ARB_get_proc_address%2CGLX_SGIS_shared_multisample%2CGLX_NV_copy_image%2CGLX_NV_present_video%2CGLX_SGIX_swap_barrier%2CGLX_SGIS_multisample%2CGLX_SGIX_swap_group%2CGLX_ARB_vertex_buffer_object%2CGLX_NV_multisample_coverage&generator=c&mx=off&debug=off&mx_global=off&header_only=off&loader=on&alias=off
24  *
25  */
26 
27 #ifndef GLAD_GLX_H_
28 #define GLAD_GLX_H_
29 
30 #ifdef GLX_H
31 #error GLX header already included (API: glx), remove previous include!
32 #endif
33 #define GLX_H 1
34 
35 #include <X11/X.h>
36 #include <X11/Xlib.h>
37 #include <X11/Xutil.h>
38 
39 #include <glad/gl.h>
40 
41 #define GLAD_GLX
42 #define GLAD_OPTION_GLX_LOADER
43 
44 #ifdef __cplusplus
45 extern "C"
46 {
47 #endif
48 
49 #ifndef GLAD_PLATFORM_H_
50 #define GLAD_PLATFORM_H_
51 
52 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
53 #define GLAD_PLATFORM_WIN32 1
54 #else
55 #define GLAD_PLATFORM_WIN32 0
56 #endif
57 
58 #ifndef GLAD_PLATFORM_UWP
59 #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
60 #ifdef __has_include
61 #if __has_include(<winapifamily.h>)
62 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
63 #endif
64 #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
65 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
66 #endif
67 #endif
68 
69 #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
70 #include <winapifamily.h>
71 #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
72 #define GLAD_PLATFORM_UWP 1
73 #endif
74 #endif
75 
76 #ifndef GLAD_PLATFORM_UWP
77 #define GLAD_PLATFORM_UWP 0
78 #endif
79 #endif
80 
81 #ifdef __GNUC__
82 #define GLAD_GNUC_EXTENSION __extension__
83 #else
84 #define GLAD_GNUC_EXTENSION
85 #endif
86 
87 #ifndef GLAD_API_CALL
88 #if defined(GLAD_API_CALL_EXPORT)
89 #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
90 #if defined(GLAD_API_CALL_EXPORT_BUILD)
91 #if defined(__GNUC__)
92 #define GLAD_API_CALL __attribute__((dllexport)) extern
93 #else
94 #define GLAD_API_CALL __declspec(dllexport) extern
95 #endif
96 #else
97 #if defined(__GNUC__)
98 #define GLAD_API_CALL __attribute__((dllimport)) extern
99 #else
100 #define GLAD_API_CALL __declspec(dllimport) extern
101 #endif
102 #endif
103 #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
104 #define GLAD_API_CALL __attribute__((visibility("default"))) extern
105 #else
106 #define GLAD_API_CALL extern
107 #endif
108 #else
109 #define GLAD_API_CALL extern
110 #endif
111 #endif
112 
113 #ifdef APIENTRY
114 #define GLAD_API_PTR APIENTRY
115 #elif GLAD_PLATFORM_WIN32
116 #define GLAD_API_PTR __stdcall
117 #else
118 #define GLAD_API_PTR
119 #endif
120 
121 #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
122 #define GLAD_VERSION_MAJOR(version) (version / 10000)
123 #define GLAD_VERSION_MINOR(version) (version % 10000)
124 
125 	typedef void (*GLADapiproc)(void);
126 
127 	typedef GLADapiproc (*GLADloadfunc)(const char *name);
128 	typedef GLADapiproc (*GLADuserptrloadfunc)(const char *name, void *userptr);
129 
130 	typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
131 	typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
132 
133 #endif /* GLAD_PLATFORM_H_ */
134 
135 #define GLX_RGBA_FLOAT_BIT_ARB 0x00000004
136 #define __GLX_NUMBER_EVENTS 17
137 #define GLX_X_VISUAL_TYPE 0x22
138 #define GLX_PRESERVED_CONTENTS 0x801B
139 #define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
140 #define GLX_3DFX_WINDOW_MODE_MESA 0x1
141 #define GLX_RENDERER_VERSION_MESA 0x8185
142 #define GLX_TRANSPARENT_GREEN_VALUE 0x26
143 #define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
144 #define GLX_RENDER_TYPE_SGIX 0x8011
145 #define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
146 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28
147 #define GLX_AUX2_EXT 0x20E4
148 #define GLX_FRONT_LEFT_EXT 0x20DE
149 #define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
150 #define GLX_NO_EXTENSION 3
151 #define GLX_DIRECT_COLOR_EXT 0x8003
152 #define GLX_BAD_VISUAL 4
153 #define GLX_BAD_CONTEXT 5
154 #define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
155 #define GLX_STEREO_NOTIFY_EXT 0x00000000
156 #define GLX_ACCUM_BLUE_SIZE 16
157 #define GLX_COVERAGE_SAMPLES_NV 100001
158 #define GLX_BACK_BUFFER_AGE_EXT 0x20F4
159 #define GLX_SLOW_VISUAL_EXT 0x8001
160 #define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
161 #define GLX_EVENT_MASK 0x801F
162 #define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
163 #define GLX_SAMPLE_BUFFERS_3DFX 0x8050
164 #define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
165 #define GLX_USE_GL 1
166 #define GLX_PIXMAP_BIT 0x00000002
167 #define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
168 #define GLX_TRANSPARENT_RGB 0x8008
169 #define GLX_PRESERVED_CONTENTS_SGIX 0x801B
170 #define GLX_GPU_NUM_PIPES_AMD 0x21A5
171 #define GLX_RENDER_TYPE 0x8011
172 #define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
173 #define GLX_X_VISUAL_TYPE_EXT 0x22
174 #define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT
175 #define GLX_TRANSPARENT_TYPE_EXT 0x23
176 #define GLX_HYPERPIPE_ID_SGIX 0x8030
177 #define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
178 #define GLX_RENDERER_ACCELERATED_MESA 0x8186
179 #define GLX_DAMAGED_SGIX 0x8020
180 #define GLX_STEREO 6
181 #define GLX_FLOAT_COMPONENTS_NV 0x20B0
182 #define GLX_GPU_RENDERER_STRING_AMD 0x1F01
183 #define GLX_SWAP_UNDEFINED_OML 0x8063
184 #define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
185 #define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
186 #define GLX_TRUE_COLOR 0x8002
187 #define GLX_SAVED 0x8021
188 #define GLX_RENDERER_DEVICE_ID_MESA 0x8184
189 #define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
190 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
191 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
192 #define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
193 #define GLX_WINDOW_SGIX 0x8022
194 #define GLX_TRANSPARENT_INDEX_VALUE 0x24
195 #define GLX_NONE_EXT 0x8000
196 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
197 #define GLX_SAMPLE_BUFFERS_ARB 100000
198 #define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
199 #define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
200 #define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187
201 #define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
202 #define GLX_TEXTURE_1D_EXT 0x20DB
203 #define GLX_SYNC_SWAP_SGIX 0x00000001
204 #define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
205 #define GLX_VIDEO_OUT_COLOR_NV 0x20C3
206 #define GLX_DEPTH_BUFFER_BIT 0x00000020
207 #define GLX_AUX_BUFFERS_BIT 0x00000010
208 #define GLX_BLENDED_RGBA_SGIS 0x8025
209 #define GLX_DRAWABLE_TYPE_SGIX 0x8010
210 #define GLX_DEPTH_SIZE 12
211 #define GLX_SAMPLES_ARB 100001
212 #define GLX_VISUAL_ID_EXT 0x800B
213 #define GLX_STEREO_TREE_EXT 0x20F5
214 #define GLX_NON_CONFORMANT_CONFIG 0x800D
215 #define GLX_GPU_VENDOR_AMD 0x1F00
216 #define GLX_WINDOW_BIT 0x00000001
217 #define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
218 #define GLX_SAMPLES_3DFX 0x8051
219 #define GLX_BUFFER_SIZE 2
220 #define GLX_TEXTURE_2D_BIT_EXT 0x00000002
221 #define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
222 #define GLX_CONTEXT_ES2_PROFILE_BIT_EXT GLX_CONTEXT_ES_PROFILE_BIT_EXT
223 #define GLX_DEVICE_ID_NV 0x20CD
224 #define GLX_WINDOW 0x8022
225 #define GLX_TEXTURE_2D_EXT 0x20DC
226 #define GLX_PSEUDO_COLOR 0x8004
227 #define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
228 #define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A
229 #define GLX_TEXTURE_TARGET_EXT 0x20D6
230 #define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
231 #define GLX_AUX4_EXT 0x20E6
232 #define GLX_STATIC_COLOR_EXT 0x8005
233 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
234 #define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
235 #define GLX_GPU_CLOCK_AMD 0x21A4
236 #define GLX_GPU_NUM_RB_AMD 0x21A7
237 #define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
238 #define GLX_VENDOR_NAMES_EXT 0x20F6
239 #define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
240 #define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
241 #define GLX_ACCUM_GREEN_SIZE 15
242 #define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
243 #define GLX_PBUFFER 0x8023
244 #define GLX_RGBA_TYPE_SGIX 0x8014
245 #define GLX_PBUFFER_BIT 0x00000004
246 #define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
247 #define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
248 #define GLX_TRANSPARENT_INDEX_EXT 0x8009
249 #define GLX_COPY_COMPLETE_INTEL 0x8181
250 #define GLX_NONE 0x8000
251 #define GLX_PbufferClobber 0
252 #define GLX_RGBA 4
253 #define GLX_HEIGHT_SGIX 0x801E
254 #define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
255 #define GLX_SWAP_COPY_OML 0x8062
256 #define GLX_BACK_RIGHT_EXT 0x20E1
257 #define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
258 #define GLX_SLOW_CONFIG 0x8001
259 #define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189
260 #define GLX_Y_INVERTED_EXT 0x20D4
261 #define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
262 #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
263 #define GLX_AUX8_EXT 0x20EA
264 #define GLX_EXCHANGE_COMPLETE_INTEL 0x8180
265 #define GLX_CONTEXT_FLAGS_ARB 0x2094
266 #define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9
267 #define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
268 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
269 #define GLX_FLIP_COMPLETE_INTEL 0x8182
270 #define GLX_BAD_ENUM 7
271 #define GLX_AUX3_EXT 0x20E5
272 #define GLX_DONT_CARE 0xFFFFFFFF
273 #define GLX_SAMPLE_BUFFERS_SGIS 100000
274 #define GLX_SWAP_INTERVAL_EXT 0x20F1
275 #define GLX_RENDERER_ID_MESA 0x818E
276 #define GLX_STENCIL_SIZE 13
277 #define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
278 #define GLX_X_RENDERABLE 0x8012
279 #define GLX_VENDOR 0x1
280 #define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
281 #define GLX_UNIQUE_ID_NV 0x20CE
282 #define GLX_WINDOW_BIT_SGIX 0x00000001
283 #define GLX_LEVEL 3
284 #define GLX_COLOR_SAMPLES_NV 0x20B3
285 #define GLX_DIRECT_COLOR 0x8003
286 #define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
287 #define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
288 #define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252
289 #define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
290 #define GLX_PIXMAP_BIT_SGIX 0x00000002
291 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
292 #define GLX_AUX6_EXT 0x20E8
293 #define GLX_BufferSwapComplete 1
294 #define GLX_COLOR_INDEX_BIT 0x00000002
295 #define GLX_STENCIL_BUFFER_BIT 0x00000040
296 #define GLX_MAX_PBUFFER_HEIGHT 0x8017
297 #define GLX_ACCUM_BUFFER_BIT 0x00000080
298 #define GLX_SWAP_METHOD_OML 0x8060
299 #define GLX_EXTENSIONS 0x3
300 #define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
301 #define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
302 #define GLX_SYNC_FRAME_SGIX 0x00000000
303 #define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
304 #define GLX_PBUFFER_WIDTH 0x8041
305 #define GLX_BLUE_SIZE 10
306 #define GLX_GRAY_SCALE 0x8006
307 #define GLX_STEREO_NOTIFY_MASK_EXT 0x00000001
308 #define GLX_AUX9_EXT 0x20EB
309 #define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
310 #define GLX_EXTENSION_NAME "GLX"
311 #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
312 #define GLX_VIDEO_OUT_FRAME_NV 0x20C8
313 #define GLX_PBUFFER_BIT_SGIX 0x00000004
314 #define GLX_AUX5_EXT 0x20E7
315 #define GLX_HEIGHT 0x801E
316 #define GLX_PBUFFER_HEIGHT 0x8040
317 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
318 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
319 #define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
320 #define GLX_NO_RESET_NOTIFICATION_ARB 0x8261
321 #define GLX_DOUBLEBUFFER 5
322 #define GLX_SHARE_CONTEXT_EXT 0x800A
323 #define GLX_X_RENDERABLE_SGIX 0x8012
324 #define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188
325 #define GLX_DRAWABLE_TYPE 0x8010
326 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
327 #define GLX_SAMPLES 100001
328 #define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
329 #define GLX_TRANSPARENT_RGB_EXT 0x8008
330 #define GLX_SCREEN_EXT 0x800C
331 #define GLX_STATIC_COLOR 0x8005
332 #define GLX_RED_SIZE 8
333 #define GLX_TRANSPARENT_RED_VALUE 0x25
334 #define GLX_GREEN_SIZE 9
335 #define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
336 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
337 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
338 #define GLX_GPU_NUM_SPI_AMD 0x21A8
339 #define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
340 #define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
341 #define GLX_TEXTURE_FORMAT_EXT 0x20D5
342 #define GLX_RGBA_TYPE 0x8014
343 #define GLX_RENDERER_VENDOR_ID_MESA 0x8183
344 #define GLX_BAD_HYPERPIPE_SGIX 92
345 #define GLX_TRANSPARENT_INDEX 0x8009
346 #define GLX_BAD_ATTRIBUTE 2
347 #define GLX_FRONT_RIGHT_EXT 0x20DF
348 #define GLX_STATIC_GRAY 0x8007
349 #define GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x20F7
350 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
351 #define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
352 #define GLX_FBCONFIG_ID_SGIX 0x8013
353 #define GLX_GRAY_SCALE_EXT 0x8006
354 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
355 #define GLX_GPU_RAM_AMD 0x21A3
356 #define GLX_TEXTURE_1D_BIT_EXT 0x00000001
357 #define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
358 #define GLX_RGBA_BIT_SGIX 0x00000001
359 #define GLX_PIPE_RECT_SGIX 0x00000001
360 #define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
361 #define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
362 #define GLX_PBUFFER_SGIX 0x8023
363 #define GLX_AUX_BUFFERS 7
364 #define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
365 #define GLX_BAD_VALUE 6
366 #define GLX_LARGEST_PBUFFER 0x801C
367 #define GLX_AUX0_EXT 0x20E2
368 #define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
369 #define GLX_PSEUDO_COLOR_EXT 0x8004
370 #define GLX_COLOR_INDEX_TYPE 0x8015
371 #define GLX_SAVED_SGIX 0x8021
372 #define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
373 #define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
374 #define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
375 #define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
376 #define GLX_MIPMAP_TEXTURE_EXT 0x20D7
377 #define GLX_ACCUM_ALPHA_SIZE 17
378 #define GLX_TRANSPARENT_BLUE_VALUE 0x27
379 #define GLX_WIDTH 0x801D
380 #define GLX_AUX7_EXT 0x20E9
381 #define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
382 #define GLX_STATIC_GRAY_EXT 0x8007
383 #define GLX_MAX_PBUFFER_WIDTH 0x8016
384 #define GLX_CONFIG_CAVEAT 0x20
385 #define GLX_EVENT_MASK_SGIX 0x801F
386 #define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
387 #define GLX_TRANSPARENT_TYPE 0x23
388 #define GLX_ALPHA_SIZE 11
389 #define GLX_SAMPLE_BUFFERS 100000
390 #define GLX_VISUAL_ID 0x800B
391 #define GLX_LARGEST_PBUFFER_SGIX 0x801C
392 #define GLX_SWAP_EXCHANGE_OML 0x8061
393 #define GLX_WIDTH_SGIX 0x801D
394 #define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
395 #define GLX_SCREEN 0x800C
396 #define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
397 #define GLX_ACCUM_RED_SIZE 14
398 #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
399 #define GLX_BAD_SCREEN 1
400 #define GLX_VISUAL_CAVEAT_EXT 0x20
401 #define GLX_BACK_LEFT_EXT 0x20E0
402 #define GLX_MAX_PBUFFER_PIXELS 0x8018
403 #define GLX_AUX1_EXT 0x20E3
404 #define GLX_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
405 #define GLX_SAMPLES_SGIS 100001
406 #define GLX_TRUE_COLOR_EXT 0x8002
407 #define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
408 #define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
409 #define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
410 #define GLX_BACK_EXT GLX_BACK_LEFT_EXT
411 #define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
412 #define GLX_DAMAGED 0x8020
413 #define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
414 #define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
415 #define GLX_LATE_SWAPS_TEAR_EXT 0x20F3
416 #define GLX_FBCONFIG_ID 0x8013
417 #define GLX_GPU_NUM_SIMD_AMD 0x21A6
418 #define GLX_RGBA_BIT 0x00000001
419 #define GLX_VERSION 0x2
420 
421 #ifndef GLEXT_64_TYPES_DEFINED
422 /* This code block is duplicated in glext.h, so must be protected */
423 #define GLEXT_64_TYPES_DEFINED
424 /* Define int32_t, int64_t, and uint64_t types for UST/MSC */
425 /* (as used in the GLX_OML_sync_control extension). */
426 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
427 #include <inttypes.h>
428 #elif defined(__sun__) || defined(__digital__)
429 #include <inttypes.h>
430 #if defined(__STDC__)
431 #if defined(__arch64__) || defined(_LP64)
432 	typedef long int int64_t;
433 	typedef unsigned long int uint64_t;
434 #else
435 	typedef long long int int64_t;
436 	typedef unsigned long long int uint64_t;
437 #endif /* __arch64__ */
438 #endif /* __STDC__ */
439 #elif defined(__VMS) || defined(__sgi)
440 #include <inttypes.h>
441 #elif defined(__SCO__) || defined(__USLC__)
442 #include <stdint.h>
443 #elif defined(__UNIXOS2__) || defined(__SOL64__)
444 	typedef long int int32_t;
445 	typedef long long int int64_t;
446 	typedef unsigned long long int uint64_t;
447 #elif defined(_WIN32) && defined(__GNUC__)
448 #include <stdint.h>
449 #elif defined(_WIN32)
450 	typedef __int32 int32_t;
451 	typedef __int64 int64_t;
452 	typedef unsigned __int64 uint64_t;
453 #else
454 /* Fallback if nothing above works */
455 #include <inttypes.h>
456 #endif
457 #endif
458 
459 #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
460 
461 #else
462 
463 #endif
464 
465 #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
466 
467 #else
468 
469 #endif
470 
471 	typedef XID GLXFBConfigID;
472 	typedef struct __GLXFBConfigRec *GLXFBConfig;
473 	typedef XID GLXContextID;
474 	typedef struct __GLXcontextRec *GLXContext;
475 	typedef XID GLXPixmap;
476 	typedef XID GLXDrawable;
477 	typedef XID GLXWindow;
478 	typedef XID GLXPbuffer;
479 	typedef void(GLAD_API_PTR *__GLXextFuncPtr)(void);
480 	typedef XID GLXVideoCaptureDeviceNV;
481 	typedef unsigned int GLXVideoDeviceNV;
482 	typedef XID GLXVideoSourceSGIX;
483 	typedef XID GLXFBConfigIDSGIX;
484 	typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
485 	typedef XID GLXPbufferSGIX;
486 	typedef struct
487 	{
488 		int event_type;           /* GLX_DAMAGED or GLX_SAVED */
489 		int draw_type;            /* GLX_WINDOW or GLX_PBUFFER */
490 		unsigned long serial;     /* # of last request processed by server */
491 		Bool send_event;          /* true if this came for SendEvent request */
492 		Display *display;         /* display the event was read from */
493 		GLXDrawable drawable;     /* XID of Drawable */
494 		unsigned int buffer_mask; /* mask indicating which buffers are affected */
495 		unsigned int aux_buffer;  /* which aux buffer was affected */
496 		int x, y;
497 		int width, height;
498 		int count; /* if nonzero, at least this many more */
499 	} GLXPbufferClobberEvent;
500 	typedef struct
501 	{
502 		int type;
503 		unsigned long serial; /* # of last request processed by server */
504 		Bool send_event;      /* true if this came from a SendEvent request */
505 		Display *display;     /* Display the event was read from */
506 		GLXDrawable drawable; /* drawable on which event was requested in event mask */
507 		int event_type;
508 		int64_t ust;
509 		int64_t msc;
510 		int64_t sbc;
511 	} GLXBufferSwapComplete;
512 	typedef union __GLXEvent {
513 		GLXPbufferClobberEvent glxpbufferclobber;
514 		GLXBufferSwapComplete glxbufferswapcomplete;
515 		long pad[24];
516 	} GLXEvent;
517 	typedef struct
518 	{
519 		int type;
520 		unsigned long serial;
521 		Bool send_event;
522 		Display *display;
523 		int extension;
524 		int evtype;
525 		GLXDrawable window;
526 		Bool stereo_tree;
527 	} GLXStereoNotifyEventEXT;
528 	typedef struct
529 	{
530 		int type;
531 		unsigned long serial; /* # of last request processed by server */
532 		Bool send_event;      /* true if this came for SendEvent request */
533 		Display *display;     /* display the event was read from */
534 		GLXDrawable drawable; /* i.d. of Drawable */
535 		int event_type;       /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */
536 		int draw_type;        /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */
537 		unsigned int mask;    /* mask indicating which buffers are affected*/
538 		int x, y;
539 		int width, height;
540 		int count; /* if nonzero, at least this many more */
541 	} GLXBufferClobberEventSGIX;
542 	typedef struct
543 	{
544 		char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
545 		int networkId;
546 	} GLXHyperpipeNetworkSGIX;
547 	typedef struct
548 	{
549 		char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
550 		int channel;
551 		unsigned int participationType;
552 		int timeSlice;
553 	} GLXHyperpipeConfigSGIX;
554 	typedef struct
555 	{
556 		char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
557 		int srcXOrigin, srcYOrigin, srcWidth, srcHeight;
558 		int destXOrigin, destYOrigin, destWidth, destHeight;
559 	} GLXPipeRect;
560 	typedef struct
561 	{
562 		char pipeName[80]; /* Should be [GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX] */
563 		int XOrigin, YOrigin, maxHeight, maxWidth;
564 	} GLXPipeRectLimits;
565 
566 #define GLX_VERSION_1_0 1
567 	GLAD_API_CALL int GLAD_GLX_VERSION_1_0;
568 #define GLX_VERSION_1_1 1
569 	GLAD_API_CALL int GLAD_GLX_VERSION_1_1;
570 #define GLX_VERSION_1_2 1
571 	GLAD_API_CALL int GLAD_GLX_VERSION_1_2;
572 #define GLX_VERSION_1_3 1
573 	GLAD_API_CALL int GLAD_GLX_VERSION_1_3;
574 #define GLX_VERSION_1_4 1
575 	GLAD_API_CALL int GLAD_GLX_VERSION_1_4;
576 #define GLX_MESA_copy_sub_buffer 1
577 	GLAD_API_CALL int GLAD_GLX_MESA_copy_sub_buffer;
578 #define GLX_EXT_create_context_es_profile 1
579 	GLAD_API_CALL int GLAD_GLX_EXT_create_context_es_profile;
580 #define GLX_SGIX_pbuffer 1
581 	GLAD_API_CALL int GLAD_GLX_SGIX_pbuffer;
582 #define GLX_SGI_make_current_read 1
583 	GLAD_API_CALL int GLAD_GLX_SGI_make_current_read;
584 #define GLX_OML_sync_control 1
585 	GLAD_API_CALL int GLAD_GLX_OML_sync_control;
586 #define GLX_SGIX_hyperpipe 1
587 	GLAD_API_CALL int GLAD_GLX_SGIX_hyperpipe;
588 #define GLX_INTEL_swap_event 1
589 	GLAD_API_CALL int GLAD_GLX_INTEL_swap_event;
590 #define GLX_EXT_swap_control 1
591 	GLAD_API_CALL int GLAD_GLX_EXT_swap_control;
592 #define GLX_NV_robustness_video_memory_purge 1
593 	GLAD_API_CALL int GLAD_GLX_NV_robustness_video_memory_purge;
594 #define GLX_MESA_pixmap_colormap 1
595 	GLAD_API_CALL int GLAD_GLX_MESA_pixmap_colormap;
596 #define GLX_ARB_fbconfig_float 1
597 	GLAD_API_CALL int GLAD_GLX_ARB_fbconfig_float;
598 #define GLX_EXT_fbconfig_packed_float 1
599 	GLAD_API_CALL int GLAD_GLX_EXT_fbconfig_packed_float;
600 #define GLX_OML_swap_method 1
601 	GLAD_API_CALL int GLAD_GLX_OML_swap_method;
602 #define GLX_NV_video_capture 1
603 	GLAD_API_CALL int GLAD_GLX_NV_video_capture;
604 #define GLX_ARB_robustness_application_isolation 1
605 	GLAD_API_CALL int GLAD_GLX_ARB_robustness_application_isolation;
606 #define GLX_ARB_create_context_robustness 1
607 	GLAD_API_CALL int GLAD_GLX_ARB_create_context_robustness;
608 #define GLX_EXT_visual_rating 1
609 	GLAD_API_CALL int GLAD_GLX_EXT_visual_rating;
610 #define GLX_NV_swap_group 1
611 	GLAD_API_CALL int GLAD_GLX_NV_swap_group;
612 #define GLX_EXT_texture_from_pixmap 1
613 	GLAD_API_CALL int GLAD_GLX_EXT_texture_from_pixmap;
614 #define GLX_SUN_get_transparent_index 1
615 	GLAD_API_CALL int GLAD_GLX_SUN_get_transparent_index;
616 #define GLX_MESA_release_buffers 1
617 	GLAD_API_CALL int GLAD_GLX_MESA_release_buffers;
618 #define GLX_NV_delay_before_swap 1
619 	GLAD_API_CALL int GLAD_GLX_NV_delay_before_swap;
620 #define GLX_EXT_buffer_age 1
621 	GLAD_API_CALL int GLAD_GLX_EXT_buffer_age;
622 #define GLX_MESA_agp_offset 1
623 	GLAD_API_CALL int GLAD_GLX_MESA_agp_offset;
624 #define GLX_EXT_visual_info 1
625 	GLAD_API_CALL int GLAD_GLX_EXT_visual_info;
626 #define GLX_SGI_swap_control 1
627 	GLAD_API_CALL int GLAD_GLX_SGI_swap_control;
628 #define GLX_EXT_import_context 1
629 	GLAD_API_CALL int GLAD_GLX_EXT_import_context;
630 #define GLX_SGI_video_sync 1
631 	GLAD_API_CALL int GLAD_GLX_SGI_video_sync;
632 #define GLX_3DFX_multisample 1
633 	GLAD_API_CALL int GLAD_GLX_3DFX_multisample;
634 #define GLX_ARB_multisample 1
635 	GLAD_API_CALL int GLAD_GLX_ARB_multisample;
636 #define GLX_EXT_framebuffer_sRGB 1
637 	GLAD_API_CALL int GLAD_GLX_EXT_framebuffer_sRGB;
638 #define GLX_SGI_cushion 1
639 	GLAD_API_CALL int GLAD_GLX_SGI_cushion;
640 #define GLX_ARB_robustness_share_group_isolation 1
641 	GLAD_API_CALL int GLAD_GLX_ARB_robustness_share_group_isolation;
642 #define GLX_SGIX_fbconfig 1
643 	GLAD_API_CALL int GLAD_GLX_SGIX_fbconfig;
644 #define GLX_NV_copy_buffer 1
645 	GLAD_API_CALL int GLAD_GLX_NV_copy_buffer;
646 #define GLX_SGIX_visual_select_group 1
647 	GLAD_API_CALL int GLAD_GLX_SGIX_visual_select_group;
648 #define GLX_EXT_swap_control_tear 1
649 	GLAD_API_CALL int GLAD_GLX_EXT_swap_control_tear;
650 #define GLX_ARB_create_context 1
651 	GLAD_API_CALL int GLAD_GLX_ARB_create_context;
652 #define GLX_AMD_gpu_association 1
653 	GLAD_API_CALL int GLAD_GLX_AMD_gpu_association;
654 #define GLX_MESA_query_renderer 1
655 	GLAD_API_CALL int GLAD_GLX_MESA_query_renderer;
656 #define GLX_EXT_create_context_es2_profile 1
657 	GLAD_API_CALL int GLAD_GLX_EXT_create_context_es2_profile;
658 #define GLX_MESA_swap_control 1
659 	GLAD_API_CALL int GLAD_GLX_MESA_swap_control;
660 #define GLX_SGIX_video_resize 1
661 	GLAD_API_CALL int GLAD_GLX_SGIX_video_resize;
662 #define GLX_ARB_context_flush_control 1
663 	GLAD_API_CALL int GLAD_GLX_ARB_context_flush_control;
664 #define GLX_NV_video_out 1
665 	GLAD_API_CALL int GLAD_GLX_NV_video_out;
666 #define GLX_EXT_no_config_context 1
667 	GLAD_API_CALL int GLAD_GLX_EXT_no_config_context;
668 #define GLX_SGIS_blended_overlay 1
669 	GLAD_API_CALL int GLAD_GLX_SGIS_blended_overlay;
670 #define GLX_EXT_stereo_tree 1
671 	GLAD_API_CALL int GLAD_GLX_EXT_stereo_tree;
672 #define GLX_ARB_create_context_no_error 1
673 	GLAD_API_CALL int GLAD_GLX_ARB_create_context_no_error;
674 #define GLX_EXT_libglvnd 1
675 	GLAD_API_CALL int GLAD_GLX_EXT_libglvnd;
676 #define GLX_ARB_create_context_profile 1
677 	GLAD_API_CALL int GLAD_GLX_ARB_create_context_profile;
678 #define GLX_NV_float_buffer 1
679 	GLAD_API_CALL int GLAD_GLX_NV_float_buffer;
680 #define GLX_MESA_set_3dfx_mode 1
681 	GLAD_API_CALL int GLAD_GLX_MESA_set_3dfx_mode;
682 #define GLX_ARB_framebuffer_sRGB 1
683 	GLAD_API_CALL int GLAD_GLX_ARB_framebuffer_sRGB;
684 #define GLX_ARB_get_proc_address 1
685 	GLAD_API_CALL int GLAD_GLX_ARB_get_proc_address;
686 #define GLX_SGIS_shared_multisample 1
687 	GLAD_API_CALL int GLAD_GLX_SGIS_shared_multisample;
688 #define GLX_NV_copy_image 1
689 	GLAD_API_CALL int GLAD_GLX_NV_copy_image;
690 #define GLX_NV_present_video 1
691 	GLAD_API_CALL int GLAD_GLX_NV_present_video;
692 #define GLX_SGIX_swap_barrier 1
693 	GLAD_API_CALL int GLAD_GLX_SGIX_swap_barrier;
694 #define GLX_SGIS_multisample 1
695 	GLAD_API_CALL int GLAD_GLX_SGIS_multisample;
696 #define GLX_SGIX_swap_group 1
697 	GLAD_API_CALL int GLAD_GLX_SGIX_swap_group;
698 #define GLX_ARB_vertex_buffer_object 1
699 	GLAD_API_CALL int GLAD_GLX_ARB_vertex_buffer_object;
700 #define GLX_NV_multisample_coverage 1
701 	GLAD_API_CALL int GLAD_GLX_NV_multisample_coverage;
702 
703 	typedef void(GLAD_API_PTR *PFNGLXCUSHIONSGIPROC)(Display *dpy, Window window, float cushion);
704 	typedef void(GLAD_API_PTR *PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbufferSGIX pbuf);
705 	typedef int(GLAD_API_PTR *PFNGLXSENDPBUFFERTOVIDEONVPROC)(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
706 	typedef __GLXextFuncPtr(GLAD_API_PTR *PFNGLXGETPROCADDRESSARBPROC)(const GLubyte *procName);
707 	typedef GLXContext(GLAD_API_PTR *PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
708 	typedef void(GLAD_API_PTR *PFNGLXJOINSWAPGROUPSGIXPROC)(Display *dpy, GLXDrawable drawable, GLXDrawable member);
709 	typedef void(GLAD_API_PTR *PFNGLXSWAPINTERVALEXTPROC)(Display *dpy, GLXDrawable drawable, int interval);
710 	typedef GLXHyperpipeConfigSGIX *(GLAD_API_PTR *PFNGLXQUERYHYPERPIPECONFIGSGIXPROC)(Display *dpy, int hpId, int *npipes);
711 	typedef int(GLAD_API_PTR *PFNGLXGETGPUINFOAMDPROC)(unsigned int id, int property, GLenum dataType, unsigned int size, void *data);
712 	typedef Status(GLAD_API_PTR *PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
713 	typedef GLXHyperpipeNetworkSGIX *(GLAD_API_PTR *PFNGLXQUERYHYPERPIPENETWORKSGIXPROC)(Display *dpy, int *npipes);
714 	typedef int(GLAD_API_PTR *PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
715 	typedef GLXPixmap(GLAD_API_PTR *PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
716 	typedef void(GLAD_API_PTR *PFNGLXCOPYCONTEXTPROC)(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);
717 	typedef GLXPbufferSGIX(GLAD_API_PTR *PFNGLXCREATEGLXPBUFFERSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
718 	typedef unsigned int(GLAD_API_PTR *PFNGLXGETGPUIDSAMDPROC)(unsigned int maxCount, unsigned int *ids);
719 	typedef Bool(GLAD_API_PTR *PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC)(GLXContext ctx);
720 	typedef int(GLAD_API_PTR *PFNGLXGETVIDEODEVICENVPROC)(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
721 	typedef void(GLAD_API_PTR *PFNGLXWAITGLPROC)(void);
722 	typedef int(GLAD_API_PTR *PFNGLXGETVIDEOSYNCSGIPROC)(unsigned int *count);
723 	typedef int(GLAD_API_PTR *PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC)(Display *dpy, int hpId);
724 	typedef int(GLAD_API_PTR *PFNGLXHYPERPIPECONFIGSGIXPROC)(Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
725 	typedef int64_t(GLAD_API_PTR *PFNGLXSWAPBUFFERSMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
726 	typedef GLXFBConfigSGIX *(GLAD_API_PTR *PFNGLXCHOOSEFBCONFIGSGIXPROC)(Display *dpy, int screen, int *attrib_list, int *nelements);
727 	typedef int(GLAD_API_PTR *PFNGLXWAITVIDEOSYNCSGIPROC)(int divisor, int remainder, unsigned int *count);
728 	typedef Bool(GLAD_API_PTR *PFNGLXWAITFORSBCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
729 	typedef __GLXextFuncPtr(GLAD_API_PTR *PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName);
730 	typedef int(GLAD_API_PTR *PFNGLXGETSWAPINTERVALMESAPROC)(void);
731 	typedef int(GLAD_API_PTR *PFNGLXCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int x, int y, int w, int h);
732 	typedef void(GLAD_API_PTR *PFNGLXWAITXPROC)(void);
733 	typedef const char *(GLAD_API_PTR *PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name);
734 	typedef GLXPixmap(GLAD_API_PTR *PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap);
735 	typedef Bool(GLAD_API_PTR *PFNGLXBINDSWAPBARRIERNVPROC)(Display *dpy, GLuint group, GLuint barrier);
736 	typedef const char *(GLAD_API_PTR *PFNGLXQUERYRENDERERSTRINGMESAPROC)(Display *dpy, int screen, int renderer, int attribute);
737 	typedef void(GLAD_API_PTR *PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);
738 	typedef Bool(GLAD_API_PTR *PFNGLXWAITFORMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
739 	typedef void(GLAD_API_PTR *PFNGLXCOPYSUBBUFFERMESAPROC)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
740 	typedef GLXContext(GLAD_API_PTR *PFNGLXGETCURRENTCONTEXTPROC)(void);
741 	typedef void(GLAD_API_PTR *PFNGLXSELECTEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long event_mask);
742 	typedef int(GLAD_API_PTR *PFNGLXSWAPINTERVALSGIPROC)(int interval);
743 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
744 	typedef Bool(GLAD_API_PTR *PFNGLXMAKECURRENTREADSGIPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
745 	typedef void(GLAD_API_PTR *PFNGLXQUERYDRAWABLEPROC)(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
746 	typedef void(GLAD_API_PTR *PFNGLXCOPYBUFFERSUBDATANVPROC)(Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
747 	typedef int(GLAD_API_PTR *PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value);
748 	typedef int(GLAD_API_PTR *PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *visual, int attrib, int *value);
749 	typedef Bool(GLAD_API_PTR *PFNGLXSET3DFXMODEMESAPROC)(int mode);
750 	typedef int(GLAD_API_PTR *PFNGLXGETVIDEOINFONVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
751 	typedef Bool(GLAD_API_PTR *PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx);
752 	typedef int(GLAD_API_PTR *PFNGLXGETFBCONFIGATTRIBPROC)(Display *dpy, GLXFBConfig config, int attribute, int *value);
753 	typedef XVisualInfo *(GLAD_API_PTR *PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *dpy, GLXFBConfig config);
754 	typedef void(GLAD_API_PTR *PFNGLXBINDTEXIMAGEEXTPROC)(Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list);
755 	typedef void(GLAD_API_PTR *PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
756 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYVERSIONPROC)(Display *dpy, int *maj, int *min);
757 	typedef void(GLAD_API_PTR *PFNGLXSELECTEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long mask);
758 	typedef Bool(GLAD_API_PTR *PFNGLXGETMSCRATEOMLPROC)(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
759 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYRENDERERINTEGERMESAPROC)(Display *dpy, int screen, int renderer, int attribute, unsigned int *value);
760 	typedef GLXWindow(GLAD_API_PTR *PFNGLXCREATEWINDOWPROC)(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
761 	typedef void(GLAD_API_PTR *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);
762 	typedef int(GLAD_API_PTR *PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
763 	typedef int(GLAD_API_PTR *PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC)(Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
764 	typedef int(GLAD_API_PTR *PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
765 	typedef GLXContext(GLAD_API_PTR *PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
766 	typedef unsigned int *(GLAD_API_PTR *PFNGLXENUMERATEVIDEODEVICESNVPROC)(Display *dpy, int screen, int *nelements);
767 	typedef int(GLAD_API_PTR *PFNGLXHYPERPIPEATTRIBSGIXPROC)(Display *dpy, int timeSlice, int attrib, int size, void *attribList);
768 	typedef void(GLAD_API_PTR *PFNGLXDESTROYPBUFFERPROC)(Display *dpy, GLXPbuffer pbuf);
769 	typedef void(GLAD_API_PTR *PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC)(Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
770 	typedef GLXPbuffer(GLAD_API_PTR *PFNGLXCREATEPBUFFERPROC)(Display *dpy, GLXFBConfig config, const int *attrib_list);
771 	typedef const char *(GLAD_API_PTR *PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC)(int attribute);
772 	typedef int(GLAD_API_PTR *PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC)(Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
773 	typedef int(GLAD_API_PTR *PFNGLXGETFBCONFIGATTRIBSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
774 	typedef const char *(GLAD_API_PTR *PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen);
775 	typedef int(GLAD_API_PTR *PFNGLXBINDVIDEODEVICENVPROC)(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
776 	typedef GLXContext(GLAD_API_PTR *PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC)(unsigned int id, GLXContext share_list);
777 	typedef int(GLAD_API_PTR *PFNGLXQUERYCONTEXTINFOEXTPROC)(Display *dpy, GLXContext context, int attribute, int *value);
778 	typedef void(GLAD_API_PTR *PFNGLXGETSELECTEDEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long *event_mask);
779 	typedef Display *(GLAD_API_PTR *PFNGLXGETCURRENTDISPLAYPROC)(void);
780 	typedef void(GLAD_API_PTR *PFNGLXDESTROYPIXMAPPROC)(Display *dpy, GLXPixmap pixmap);
781 	typedef void(GLAD_API_PTR *PFNGLXGETSELECTEDEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long *mask);
782 	typedef void(GLAD_API_PTR *PFNGLXRELEASETEXIMAGEEXTPROC)(Display *dpy, GLXDrawable drawable, int buffer);
783 	typedef void(GLAD_API_PTR *PFNGLXUSEXFONTPROC)(Font font, int first, int count, int list);
784 	typedef Bool(GLAD_API_PTR *PFNGLXGETSYNCVALUESOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
785 	typedef Bool(GLAD_API_PTR *PFNGLXJOINSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint group);
786 	typedef void(GLAD_API_PTR *PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable);
787 	typedef Bool(GLAD_API_PTR *PFNGLXDELAYBEFORESWAPNVPROC)(Display *dpy, GLXDrawable drawable, GLfloat seconds);
788 	typedef int(GLAD_API_PTR *PFNGLXBINDHYPERPIPESGIXPROC)(Display *dpy, int hpId);
789 	typedef void(GLAD_API_PTR *PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);
790 	typedef Display *(GLAD_API_PTR *PFNGLXGETCURRENTDISPLAYEXTPROC)(void);
791 	typedef GLXFBConfig *(GLAD_API_PTR *PFNGLXGETFBCONFIGSPROC)(Display *dpy, int screen, int *nelements);
792 	typedef GLXDrawable(GLAD_API_PTR *PFNGLXGETCURRENTREADDRAWABLEPROC)(void);
793 	typedef int(GLAD_API_PTR *PFNGLXRELEASEVIDEOIMAGENVPROC)(Display *dpy, GLXPbuffer pbuf);
794 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorb, int *event);
795 	typedef Bool(GLAD_API_PTR *PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(GLXContext ctx);
796 	typedef XVisualInfo *(GLAD_API_PTR *PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList);
797 	typedef void(GLAD_API_PTR *PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx);
798 	typedef const char *(GLAD_API_PTR *PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name);
799 	typedef void(GLAD_API_PTR *PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pixmap);
800 	typedef Bool(GLAD_API_PTR *PFNGLXRESETFRAMECOUNTNVPROC)(Display *dpy, int screen);
801 	typedef int(GLAD_API_PTR *PFNGLXRELEASEVIDEODEVICENVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
802 	typedef GLXFBConfigSGIX(GLAD_API_PTR *PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)(Display *dpy, XVisualInfo *vis);
803 	typedef GLXContext(GLAD_API_PTR *PFNGLXCREATENEWCONTEXTPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
804 	typedef Bool(GLAD_API_PTR *PFNGLXMAKECONTEXTCURRENTPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
805 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYMAXSWAPGROUPSNVPROC)(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
806 	typedef XVisualInfo *(GLAD_API_PTR *PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)(Display *dpy, GLXFBConfigSGIX config);
807 	typedef GLXDrawable(GLAD_API_PTR *PFNGLXGETCURRENTDRAWABLEPROC)(void);
808 	typedef GLXDrawable(GLAD_API_PTR *PFNGLXGETCURRENTREADDRAWABLESGIPROC)(void);
809 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYFRAMECOUNTNVPROC)(Display *dpy, int screen, GLuint *count);
810 	typedef unsigned int(GLAD_API_PTR *PFNGLXGETCONTEXTGPUIDAMDPROC)(GLXContext ctx);
811 	typedef void(GLAD_API_PTR *PFNGLXBINDSWAPBARRIERSGIXPROC)(Display *dpy, GLXDrawable drawable, int barrier);
812 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)(Display *dpy, int screen, int *max);
813 	typedef GLXPixmap(GLAD_API_PTR *PFNGLXCREATEGLXPIXMAPMESAPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
814 	typedef Bool(GLAD_API_PTR *PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx);
815 	typedef void(GLAD_API_PTR *PFNGLXDESTROYWINDOWPROC)(Display *dpy, GLXWindow win);
816 	typedef int(GLAD_API_PTR *PFNGLXBINDVIDEOIMAGENVPROC)(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
817 	typedef int(GLAD_API_PTR *PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
818 	typedef int(GLAD_API_PTR *PFNGLXQUERYCHANNELDELTASSGIXPROC)(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
819 	typedef GLXVideoCaptureDeviceNV *(GLAD_API_PTR *PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)(Display *dpy, int screen, int *nelements);
820 	typedef GLXContext(GLAD_API_PTR *PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(unsigned int id, GLXContext share_context, const int *attribList);
821 	typedef GLXContext(GLAD_API_PTR *PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);
822 	typedef int(GLAD_API_PTR *PFNGLXQUERYCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
823 	typedef GLXContext(GLAD_API_PTR *PFNGLXCREATECONTEXTPROC)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
824 	typedef void(GLAD_API_PTR *PFNGLXFREECONTEXTEXTPROC)(Display *dpy, GLXContext context);
825 	typedef GLXContextID(GLAD_API_PTR *PFNGLXGETCONTEXTIDEXTPROC)(const GLXContext context);
826 	typedef Bool(GLAD_API_PTR *PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC)(int attribute, unsigned int *value);
827 	typedef GLXFBConfig *(GLAD_API_PTR *PFNGLXCHOOSEFBCONFIGPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);
828 	typedef int(GLAD_API_PTR *PFNGLXBINDCHANNELTOWINDOWSGIXPROC)(Display *display, int screen, int channel, Window window);
829 	typedef int(GLAD_API_PTR *PFNGLXCHANNELRECTSYNCSGIXPROC)(Display *display, int screen, int channel, GLenum synctype);
830 	typedef GLXContext(GLAD_API_PTR *PFNGLXIMPORTCONTEXTEXTPROC)(Display *dpy, GLXContextID contextID);
831 	typedef Bool(GLAD_API_PTR *PFNGLXRELEASEBUFFERSMESAPROC)(Display *dpy, GLXDrawable drawable);
832 	typedef GLXPixmap(GLAD_API_PTR *PFNGLXCREATEPIXMAPPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
833 	typedef unsigned int(GLAD_API_PTR *PFNGLXGETAGPOFFSETMESAPROC)(const void *pointer);
834 
835 	GLAD_API_CALL PFNGLXCUSHIONSGIPROC glad_glXCushionSGI;
836 #define glXCushionSGI glad_glXCushionSGI
837 	GLAD_API_CALL PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX;
838 #define glXDestroyGLXPbufferSGIX glad_glXDestroyGLXPbufferSGIX
839 	GLAD_API_CALL PFNGLXSENDPBUFFERTOVIDEONVPROC glad_glXSendPbufferToVideoNV;
840 #define glXSendPbufferToVideoNV glad_glXSendPbufferToVideoNV
841 	GLAD_API_CALL PFNGLXGETPROCADDRESSARBPROC glad_glXGetProcAddressARB;
842 #define glXGetProcAddressARB glad_glXGetProcAddressARB
843 	GLAD_API_CALL PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB;
844 #define glXCreateContextAttribsARB glad_glXCreateContextAttribsARB
845 	GLAD_API_CALL PFNGLXJOINSWAPGROUPSGIXPROC glad_glXJoinSwapGroupSGIX;
846 #define glXJoinSwapGroupSGIX glad_glXJoinSwapGroupSGIX
847 	GLAD_API_CALL PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT;
848 #define glXSwapIntervalEXT glad_glXSwapIntervalEXT
849 	GLAD_API_CALL PFNGLXQUERYHYPERPIPECONFIGSGIXPROC glad_glXQueryHyperpipeConfigSGIX;
850 #define glXQueryHyperpipeConfigSGIX glad_glXQueryHyperpipeConfigSGIX
851 	GLAD_API_CALL PFNGLXGETGPUINFOAMDPROC glad_glXGetGPUInfoAMD;
852 #define glXGetGPUInfoAMD glad_glXGetGPUInfoAMD
853 	GLAD_API_CALL PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN;
854 #define glXGetTransparentIndexSUN glad_glXGetTransparentIndexSUN
855 	GLAD_API_CALL PFNGLXQUERYHYPERPIPENETWORKSGIXPROC glad_glXQueryHyperpipeNetworkSGIX;
856 #define glXQueryHyperpipeNetworkSGIX glad_glXQueryHyperpipeNetworkSGIX
857 	GLAD_API_CALL PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX;
858 #define glXQueryGLXPbufferSGIX glad_glXQueryGLXPbufferSGIX
859 	GLAD_API_CALL PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glad_glXCreateGLXPixmapWithConfigSGIX;
860 #define glXCreateGLXPixmapWithConfigSGIX glad_glXCreateGLXPixmapWithConfigSGIX
861 	GLAD_API_CALL PFNGLXCOPYCONTEXTPROC glad_glXCopyContext;
862 #define glXCopyContext glad_glXCopyContext
863 	GLAD_API_CALL PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX;
864 #define glXCreateGLXPbufferSGIX glad_glXCreateGLXPbufferSGIX
865 	GLAD_API_CALL PFNGLXGETGPUIDSAMDPROC glad_glXGetGPUIDsAMD;
866 #define glXGetGPUIDsAMD glad_glXGetGPUIDsAMD
867 	GLAD_API_CALL PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC glad_glXDeleteAssociatedContextAMD;
868 #define glXDeleteAssociatedContextAMD glad_glXDeleteAssociatedContextAMD
869 	GLAD_API_CALL PFNGLXGETVIDEODEVICENVPROC glad_glXGetVideoDeviceNV;
870 #define glXGetVideoDeviceNV glad_glXGetVideoDeviceNV
871 	GLAD_API_CALL PFNGLXWAITGLPROC glad_glXWaitGL;
872 #define glXWaitGL glad_glXWaitGL
873 	GLAD_API_CALL PFNGLXGETVIDEOSYNCSGIPROC glad_glXGetVideoSyncSGI;
874 #define glXGetVideoSyncSGI glad_glXGetVideoSyncSGI
875 	GLAD_API_CALL PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC glad_glXDestroyHyperpipeConfigSGIX;
876 #define glXDestroyHyperpipeConfigSGIX glad_glXDestroyHyperpipeConfigSGIX
877 	GLAD_API_CALL PFNGLXHYPERPIPECONFIGSGIXPROC glad_glXHyperpipeConfigSGIX;
878 #define glXHyperpipeConfigSGIX glad_glXHyperpipeConfigSGIX
879 	GLAD_API_CALL PFNGLXSWAPBUFFERSMSCOMLPROC glad_glXSwapBuffersMscOML;
880 #define glXSwapBuffersMscOML glad_glXSwapBuffersMscOML
881 	GLAD_API_CALL PFNGLXCHOOSEFBCONFIGSGIXPROC glad_glXChooseFBConfigSGIX;
882 #define glXChooseFBConfigSGIX glad_glXChooseFBConfigSGIX
883 	GLAD_API_CALL PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI;
884 #define glXWaitVideoSyncSGI glad_glXWaitVideoSyncSGI
885 	GLAD_API_CALL PFNGLXWAITFORSBCOMLPROC glad_glXWaitForSbcOML;
886 #define glXWaitForSbcOML glad_glXWaitForSbcOML
887 	GLAD_API_CALL PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
888 #define glXGetProcAddress glad_glXGetProcAddress
889 	GLAD_API_CALL PFNGLXGETSWAPINTERVALMESAPROC glad_glXGetSwapIntervalMESA;
890 #define glXGetSwapIntervalMESA glad_glXGetSwapIntervalMESA
891 	GLAD_API_CALL PFNGLXCHANNELRECTSGIXPROC glad_glXChannelRectSGIX;
892 #define glXChannelRectSGIX glad_glXChannelRectSGIX
893 	GLAD_API_CALL PFNGLXWAITXPROC glad_glXWaitX;
894 #define glXWaitX glad_glXWaitX
895 	GLAD_API_CALL PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString;
896 #define glXQueryServerString glad_glXQueryServerString
897 	GLAD_API_CALL PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap;
898 #define glXCreateGLXPixmap glad_glXCreateGLXPixmap
899 	GLAD_API_CALL PFNGLXBINDSWAPBARRIERNVPROC glad_glXBindSwapBarrierNV;
900 #define glXBindSwapBarrierNV glad_glXBindSwapBarrierNV
901 	GLAD_API_CALL PFNGLXQUERYRENDERERSTRINGMESAPROC glad_glXQueryRendererStringMESA;
902 #define glXQueryRendererStringMESA glad_glXQueryRendererStringMESA
903 	GLAD_API_CALL PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC glad_glXReleaseVideoCaptureDeviceNV;
904 #define glXReleaseVideoCaptureDeviceNV glad_glXReleaseVideoCaptureDeviceNV
905 	GLAD_API_CALL PFNGLXWAITFORMSCOMLPROC glad_glXWaitForMscOML;
906 #define glXWaitForMscOML glad_glXWaitForMscOML
907 	GLAD_API_CALL PFNGLXCOPYSUBBUFFERMESAPROC glad_glXCopySubBufferMESA;
908 #define glXCopySubBufferMESA glad_glXCopySubBufferMESA
909 	GLAD_API_CALL PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext;
910 #define glXGetCurrentContext glad_glXGetCurrentContext
911 	GLAD_API_CALL PFNGLXSELECTEVENTPROC glad_glXSelectEvent;
912 #define glXSelectEvent glad_glXSelectEvent
913 	GLAD_API_CALL PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI;
914 #define glXSwapIntervalSGI glad_glXSwapIntervalSGI
915 	GLAD_API_CALL PFNGLXQUERYSWAPGROUPNVPROC glad_glXQuerySwapGroupNV;
916 #define glXQuerySwapGroupNV glad_glXQuerySwapGroupNV
917 	GLAD_API_CALL PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI;
918 #define glXMakeCurrentReadSGI glad_glXMakeCurrentReadSGI
919 	GLAD_API_CALL PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable;
920 #define glXQueryDrawable glad_glXQueryDrawable
921 	GLAD_API_CALL PFNGLXCOPYBUFFERSUBDATANVPROC glad_glXCopyBufferSubDataNV;
922 #define glXCopyBufferSubDataNV glad_glXCopyBufferSubDataNV
923 	GLAD_API_CALL PFNGLXQUERYCONTEXTPROC glad_glXQueryContext;
924 #define glXQueryContext glad_glXQueryContext
925 	GLAD_API_CALL PFNGLXGETCONFIGPROC glad_glXGetConfig;
926 #define glXGetConfig glad_glXGetConfig
927 	GLAD_API_CALL PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA;
928 #define glXSet3DfxModeMESA glad_glXSet3DfxModeMESA
929 	GLAD_API_CALL PFNGLXGETVIDEOINFONVPROC glad_glXGetVideoInfoNV;
930 #define glXGetVideoInfoNV glad_glXGetVideoInfoNV
931 	GLAD_API_CALL PFNGLXISDIRECTPROC glad_glXIsDirect;
932 #define glXIsDirect glad_glXIsDirect
933 	GLAD_API_CALL PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib;
934 #define glXGetFBConfigAttrib glad_glXGetFBConfigAttrib
935 	GLAD_API_CALL PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig;
936 #define glXGetVisualFromFBConfig glad_glXGetVisualFromFBConfig
937 	GLAD_API_CALL PFNGLXBINDTEXIMAGEEXTPROC glad_glXBindTexImageEXT;
938 #define glXBindTexImageEXT glad_glXBindTexImageEXT
939 	GLAD_API_CALL PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC glad_glXBlitContextFramebufferAMD;
940 #define glXBlitContextFramebufferAMD glad_glXBlitContextFramebufferAMD
941 	GLAD_API_CALL PFNGLXQUERYVERSIONPROC glad_glXQueryVersion;
942 #define glXQueryVersion glad_glXQueryVersion
943 	GLAD_API_CALL PFNGLXSELECTEVENTSGIXPROC glad_glXSelectEventSGIX;
944 #define glXSelectEventSGIX glad_glXSelectEventSGIX
945 	GLAD_API_CALL PFNGLXGETMSCRATEOMLPROC glad_glXGetMscRateOML;
946 #define glXGetMscRateOML glad_glXGetMscRateOML
947 	GLAD_API_CALL PFNGLXQUERYRENDERERINTEGERMESAPROC glad_glXQueryRendererIntegerMESA;
948 #define glXQueryRendererIntegerMESA glad_glXQueryRendererIntegerMESA
949 	GLAD_API_CALL PFNGLXCREATEWINDOWPROC glad_glXCreateWindow;
950 #define glXCreateWindow glad_glXCreateWindow
951 	GLAD_API_CALL PFNGLXCOPYIMAGESUBDATANVPROC glad_glXCopyImageSubDataNV;
952 #define glXCopyImageSubDataNV glad_glXCopyImageSubDataNV
953 	GLAD_API_CALL PFNGLXSWAPINTERVALMESAPROC glad_glXSwapIntervalMESA;
954 #define glXSwapIntervalMESA glad_glXSwapIntervalMESA
955 	GLAD_API_CALL PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC glad_glXQueryHyperpipeAttribSGIX;
956 #define glXQueryHyperpipeAttribSGIX glad_glXQueryHyperpipeAttribSGIX
957 	GLAD_API_CALL PFNGLXBINDVIDEOCAPTUREDEVICENVPROC glad_glXBindVideoCaptureDeviceNV;
958 #define glXBindVideoCaptureDeviceNV glad_glXBindVideoCaptureDeviceNV
959 	GLAD_API_CALL PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glad_glXCreateContextWithConfigSGIX;
960 #define glXCreateContextWithConfigSGIX glad_glXCreateContextWithConfigSGIX
961 	GLAD_API_CALL PFNGLXENUMERATEVIDEODEVICESNVPROC glad_glXEnumerateVideoDevicesNV;
962 #define glXEnumerateVideoDevicesNV glad_glXEnumerateVideoDevicesNV
963 	GLAD_API_CALL PFNGLXHYPERPIPEATTRIBSGIXPROC glad_glXHyperpipeAttribSGIX;
964 #define glXHyperpipeAttribSGIX glad_glXHyperpipeAttribSGIX
965 	GLAD_API_CALL PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer;
966 #define glXDestroyPbuffer glad_glXDestroyPbuffer
967 	GLAD_API_CALL PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC glad_glXNamedCopyBufferSubDataNV;
968 #define glXNamedCopyBufferSubDataNV glad_glXNamedCopyBufferSubDataNV
969 	GLAD_API_CALL PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer;
970 #define glXCreatePbuffer glad_glXCreatePbuffer
971 	GLAD_API_CALL PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glad_glXQueryCurrentRendererStringMESA;
972 #define glXQueryCurrentRendererStringMESA glad_glXQueryCurrentRendererStringMESA
973 	GLAD_API_CALL PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC glad_glXQueryHyperpipeBestAttribSGIX;
974 #define glXQueryHyperpipeBestAttribSGIX glad_glXQueryHyperpipeBestAttribSGIX
975 	GLAD_API_CALL PFNGLXGETFBCONFIGATTRIBSGIXPROC glad_glXGetFBConfigAttribSGIX;
976 #define glXGetFBConfigAttribSGIX glad_glXGetFBConfigAttribSGIX
977 	GLAD_API_CALL PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString;
978 #define glXQueryExtensionsString glad_glXQueryExtensionsString
979 	GLAD_API_CALL PFNGLXBINDVIDEODEVICENVPROC glad_glXBindVideoDeviceNV;
980 #define glXBindVideoDeviceNV glad_glXBindVideoDeviceNV
981 	GLAD_API_CALL PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC glad_glXCreateAssociatedContextAMD;
982 #define glXCreateAssociatedContextAMD glad_glXCreateAssociatedContextAMD
983 	GLAD_API_CALL PFNGLXQUERYCONTEXTINFOEXTPROC glad_glXQueryContextInfoEXT;
984 #define glXQueryContextInfoEXT glad_glXQueryContextInfoEXT
985 	GLAD_API_CALL PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent;
986 #define glXGetSelectedEvent glad_glXGetSelectedEvent
987 	GLAD_API_CALL PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay;
988 #define glXGetCurrentDisplay glad_glXGetCurrentDisplay
989 	GLAD_API_CALL PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap;
990 #define glXDestroyPixmap glad_glXDestroyPixmap
991 	GLAD_API_CALL PFNGLXGETSELECTEDEVENTSGIXPROC glad_glXGetSelectedEventSGIX;
992 #define glXGetSelectedEventSGIX glad_glXGetSelectedEventSGIX
993 	GLAD_API_CALL PFNGLXRELEASETEXIMAGEEXTPROC glad_glXReleaseTexImageEXT;
994 #define glXReleaseTexImageEXT glad_glXReleaseTexImageEXT
995 	GLAD_API_CALL PFNGLXUSEXFONTPROC glad_glXUseXFont;
996 #define glXUseXFont glad_glXUseXFont
997 	GLAD_API_CALL PFNGLXGETSYNCVALUESOMLPROC glad_glXGetSyncValuesOML;
998 #define glXGetSyncValuesOML glad_glXGetSyncValuesOML
999 	GLAD_API_CALL PFNGLXJOINSWAPGROUPNVPROC glad_glXJoinSwapGroupNV;
1000 #define glXJoinSwapGroupNV glad_glXJoinSwapGroupNV
1001 	GLAD_API_CALL PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers;
1002 #define glXSwapBuffers glad_glXSwapBuffers
1003 	GLAD_API_CALL PFNGLXDELAYBEFORESWAPNVPROC glad_glXDelayBeforeSwapNV;
1004 #define glXDelayBeforeSwapNV glad_glXDelayBeforeSwapNV
1005 	GLAD_API_CALL PFNGLXBINDHYPERPIPESGIXPROC glad_glXBindHyperpipeSGIX;
1006 #define glXBindHyperpipeSGIX glad_glXBindHyperpipeSGIX
1007 	GLAD_API_CALL PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC glad_glXLockVideoCaptureDeviceNV;
1008 #define glXLockVideoCaptureDeviceNV glad_glXLockVideoCaptureDeviceNV
1009 	GLAD_API_CALL PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT;
1010 #define glXGetCurrentDisplayEXT glad_glXGetCurrentDisplayEXT
1011 	GLAD_API_CALL PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs;
1012 #define glXGetFBConfigs glad_glXGetFBConfigs
1013 	GLAD_API_CALL PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable;
1014 #define glXGetCurrentReadDrawable glad_glXGetCurrentReadDrawable
1015 	GLAD_API_CALL PFNGLXRELEASEVIDEOIMAGENVPROC glad_glXReleaseVideoImageNV;
1016 #define glXReleaseVideoImageNV glad_glXReleaseVideoImageNV
1017 	GLAD_API_CALL PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension;
1018 #define glXQueryExtension glad_glXQueryExtension
1019 	GLAD_API_CALL PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_glXMakeAssociatedContextCurrentAMD;
1020 #define glXMakeAssociatedContextCurrentAMD glad_glXMakeAssociatedContextCurrentAMD
1021 	GLAD_API_CALL PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual;
1022 #define glXChooseVisual glad_glXChooseVisual
1023 	GLAD_API_CALL PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext;
1024 #define glXDestroyContext glad_glXDestroyContext
1025 	GLAD_API_CALL PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString;
1026 #define glXGetClientString glad_glXGetClientString
1027 	GLAD_API_CALL PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap;
1028 #define glXDestroyGLXPixmap glad_glXDestroyGLXPixmap
1029 	GLAD_API_CALL PFNGLXRESETFRAMECOUNTNVPROC glad_glXResetFrameCountNV;
1030 #define glXResetFrameCountNV glad_glXResetFrameCountNV
1031 	GLAD_API_CALL PFNGLXRELEASEVIDEODEVICENVPROC glad_glXReleaseVideoDeviceNV;
1032 #define glXReleaseVideoDeviceNV glad_glXReleaseVideoDeviceNV
1033 	GLAD_API_CALL PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glad_glXGetFBConfigFromVisualSGIX;
1034 #define glXGetFBConfigFromVisualSGIX glad_glXGetFBConfigFromVisualSGIX
1035 	GLAD_API_CALL PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext;
1036 #define glXCreateNewContext glad_glXCreateNewContext
1037 	GLAD_API_CALL PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent;
1038 #define glXMakeContextCurrent glad_glXMakeContextCurrent
1039 	GLAD_API_CALL PFNGLXQUERYMAXSWAPGROUPSNVPROC glad_glXQueryMaxSwapGroupsNV;
1040 #define glXQueryMaxSwapGroupsNV glad_glXQueryMaxSwapGroupsNV
1041 	GLAD_API_CALL PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glad_glXGetVisualFromFBConfigSGIX;
1042 #define glXGetVisualFromFBConfigSGIX glad_glXGetVisualFromFBConfigSGIX
1043 	GLAD_API_CALL PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable;
1044 #define glXGetCurrentDrawable glad_glXGetCurrentDrawable
1045 	GLAD_API_CALL PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI;
1046 #define glXGetCurrentReadDrawableSGI glad_glXGetCurrentReadDrawableSGI
1047 	GLAD_API_CALL PFNGLXQUERYFRAMECOUNTNVPROC glad_glXQueryFrameCountNV;
1048 #define glXQueryFrameCountNV glad_glXQueryFrameCountNV
1049 	GLAD_API_CALL PFNGLXGETCONTEXTGPUIDAMDPROC glad_glXGetContextGPUIDAMD;
1050 #define glXGetContextGPUIDAMD glad_glXGetContextGPUIDAMD
1051 	GLAD_API_CALL PFNGLXBINDSWAPBARRIERSGIXPROC glad_glXBindSwapBarrierSGIX;
1052 #define glXBindSwapBarrierSGIX glad_glXBindSwapBarrierSGIX
1053 	GLAD_API_CALL PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glad_glXQueryMaxSwapBarriersSGIX;
1054 #define glXQueryMaxSwapBarriersSGIX glad_glXQueryMaxSwapBarriersSGIX
1055 	GLAD_API_CALL PFNGLXCREATEGLXPIXMAPMESAPROC glad_glXCreateGLXPixmapMESA;
1056 #define glXCreateGLXPixmapMESA glad_glXCreateGLXPixmapMESA
1057 	GLAD_API_CALL PFNGLXMAKECURRENTPROC glad_glXMakeCurrent;
1058 #define glXMakeCurrent glad_glXMakeCurrent
1059 	GLAD_API_CALL PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow;
1060 #define glXDestroyWindow glad_glXDestroyWindow
1061 	GLAD_API_CALL PFNGLXBINDVIDEOIMAGENVPROC glad_glXBindVideoImageNV;
1062 #define glXBindVideoImageNV glad_glXBindVideoImageNV
1063 	GLAD_API_CALL PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC glad_glXQueryVideoCaptureDeviceNV;
1064 #define glXQueryVideoCaptureDeviceNV glad_glXQueryVideoCaptureDeviceNV
1065 	GLAD_API_CALL PFNGLXQUERYCHANNELDELTASSGIXPROC glad_glXQueryChannelDeltasSGIX;
1066 #define glXQueryChannelDeltasSGIX glad_glXQueryChannelDeltasSGIX
1067 	GLAD_API_CALL PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_glXEnumerateVideoCaptureDevicesNV;
1068 #define glXEnumerateVideoCaptureDevicesNV glad_glXEnumerateVideoCaptureDevicesNV
1069 	GLAD_API_CALL PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_glXCreateAssociatedContextAttribsAMD;
1070 #define glXCreateAssociatedContextAttribsAMD glad_glXCreateAssociatedContextAttribsAMD
1071 	GLAD_API_CALL PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_glXGetCurrentAssociatedContextAMD;
1072 #define glXGetCurrentAssociatedContextAMD glad_glXGetCurrentAssociatedContextAMD
1073 	GLAD_API_CALL PFNGLXQUERYCHANNELRECTSGIXPROC glad_glXQueryChannelRectSGIX;
1074 #define glXQueryChannelRectSGIX glad_glXQueryChannelRectSGIX
1075 	GLAD_API_CALL PFNGLXCREATECONTEXTPROC glad_glXCreateContext;
1076 #define glXCreateContext glad_glXCreateContext
1077 	GLAD_API_CALL PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT;
1078 #define glXFreeContextEXT glad_glXFreeContextEXT
1079 	GLAD_API_CALL PFNGLXGETCONTEXTIDEXTPROC glad_glXGetContextIDEXT;
1080 #define glXGetContextIDEXT glad_glXGetContextIDEXT
1081 	GLAD_API_CALL PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glad_glXQueryCurrentRendererIntegerMESA;
1082 #define glXQueryCurrentRendererIntegerMESA glad_glXQueryCurrentRendererIntegerMESA
1083 	GLAD_API_CALL PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig;
1084 #define glXChooseFBConfig glad_glXChooseFBConfig
1085 	GLAD_API_CALL PFNGLXBINDCHANNELTOWINDOWSGIXPROC glad_glXBindChannelToWindowSGIX;
1086 #define glXBindChannelToWindowSGIX glad_glXBindChannelToWindowSGIX
1087 	GLAD_API_CALL PFNGLXCHANNELRECTSYNCSGIXPROC glad_glXChannelRectSyncSGIX;
1088 #define glXChannelRectSyncSGIX glad_glXChannelRectSyncSGIX
1089 	GLAD_API_CALL PFNGLXIMPORTCONTEXTEXTPROC glad_glXImportContextEXT;
1090 #define glXImportContextEXT glad_glXImportContextEXT
1091 	GLAD_API_CALL PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA;
1092 #define glXReleaseBuffersMESA glad_glXReleaseBuffersMESA
1093 	GLAD_API_CALL PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap;
1094 #define glXCreatePixmap glad_glXCreatePixmap
1095 	GLAD_API_CALL PFNGLXGETAGPOFFSETMESAPROC glad_glXGetAGPOffsetMESA;
1096 #define glXGetAGPOffsetMESA glad_glXGetAGPOffsetMESA
1097 
1098 	GLAD_API_CALL int gladLoadGLXUserPtr(Display *display, int screen, GLADuserptrloadfunc load, void *userptr);
1099 	GLAD_API_CALL int gladLoadGLX(Display *display, int screen, GLADloadfunc load);
1100 
1101 #ifdef GLAD_GLX
1102 
1103 	GLAD_API_CALL int gladLoaderLoadGLX(Display *display, int screen);
1104 
1105 	GLAD_API_CALL void gladLoaderUnloadGLX(void);
1106 
1107 #endif
1108 #ifdef __cplusplus
1109 }
1110 #endif
1111 #endif
1112