glx_generated_dispatch.c revision edd9e0ad
1/* GL dispatch code.
2 * This is code-generated from the GL API XML files from Khronos.
3 */
4
5#include "config.h"
6
7#include <stdlib.h>
8#include <string.h>
9#include <stdio.h>
10
11#include "dispatch_common.h"
12#include "epoxy/glx.h"
13
14#ifdef __GNUC__
15#define EPOXY_NOINLINE __attribute__((noinline))
16#elif defined (_MSC_VER)
17#define EPOXY_NOINLINE __declspec(noinline)
18#endif
19struct dispatch_table {
20    PFNGLXBINDCHANNELTOWINDOWSGIXPROC epoxy_glXBindChannelToWindowSGIX;
21    PFNGLXBINDHYPERPIPESGIXPROC epoxy_glXBindHyperpipeSGIX;
22    PFNGLXBINDSWAPBARRIERNVPROC epoxy_glXBindSwapBarrierNV;
23    PFNGLXBINDSWAPBARRIERSGIXPROC epoxy_glXBindSwapBarrierSGIX;
24    PFNGLXBINDTEXIMAGEEXTPROC epoxy_glXBindTexImageEXT;
25    PFNGLXBINDVIDEOCAPTUREDEVICENVPROC epoxy_glXBindVideoCaptureDeviceNV;
26    PFNGLXBINDVIDEODEVICENVPROC epoxy_glXBindVideoDeviceNV;
27    PFNGLXBINDVIDEOIMAGENVPROC epoxy_glXBindVideoImageNV;
28    PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC epoxy_glXBlitContextFramebufferAMD;
29    PFNGLXCHANNELRECTSGIXPROC epoxy_glXChannelRectSGIX;
30    PFNGLXCHANNELRECTSYNCSGIXPROC epoxy_glXChannelRectSyncSGIX;
31    PFNGLXCHOOSEFBCONFIGPROC epoxy_glXChooseFBConfig;
32    PFNGLXCHOOSEFBCONFIGSGIXPROC epoxy_glXChooseFBConfigSGIX;
33    PFNGLXCHOOSEVISUALPROC epoxy_glXChooseVisual;
34    PFNGLXCOPYBUFFERSUBDATANVPROC epoxy_glXCopyBufferSubDataNV;
35    PFNGLXCOPYCONTEXTPROC epoxy_glXCopyContext;
36    PFNGLXCOPYIMAGESUBDATANVPROC epoxy_glXCopyImageSubDataNV;
37    PFNGLXCOPYSUBBUFFERMESAPROC epoxy_glXCopySubBufferMESA;
38    PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC epoxy_glXCreateAssociatedContextAMD;
39    PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC epoxy_glXCreateAssociatedContextAttribsAMD;
40    PFNGLXCREATECONTEXTPROC epoxy_glXCreateContext;
41    PFNGLXCREATECONTEXTATTRIBSARBPROC epoxy_glXCreateContextAttribsARB;
42    PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC epoxy_glXCreateContextWithConfigSGIX;
43    PFNGLXCREATEGLXPBUFFERSGIXPROC epoxy_glXCreateGLXPbufferSGIX;
44    PFNGLXCREATEGLXPIXMAPPROC epoxy_glXCreateGLXPixmap;
45    PFNGLXCREATEGLXPIXMAPMESAPROC epoxy_glXCreateGLXPixmapMESA;
46    PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC epoxy_glXCreateGLXPixmapWithConfigSGIX;
47    PFNGLXCREATENEWCONTEXTPROC epoxy_glXCreateNewContext;
48    PFNGLXCREATEPBUFFERPROC epoxy_glXCreatePbuffer;
49    PFNGLXCREATEPIXMAPPROC epoxy_glXCreatePixmap;
50    PFNGLXCREATEWINDOWPROC epoxy_glXCreateWindow;
51    PFNGLXCUSHIONSGIPROC epoxy_glXCushionSGI;
52    PFNGLXDELAYBEFORESWAPNVPROC epoxy_glXDelayBeforeSwapNV;
53    PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC epoxy_glXDeleteAssociatedContextAMD;
54    PFNGLXDESTROYCONTEXTPROC epoxy_glXDestroyContext;
55    PFNGLXDESTROYGLXPBUFFERSGIXPROC epoxy_glXDestroyGLXPbufferSGIX;
56    PFNGLXDESTROYGLXPIXMAPPROC epoxy_glXDestroyGLXPixmap;
57    PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC epoxy_glXDestroyGLXVideoSourceSGIX;
58    PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC epoxy_glXDestroyHyperpipeConfigSGIX;
59    PFNGLXDESTROYPBUFFERPROC epoxy_glXDestroyPbuffer;
60    PFNGLXDESTROYPIXMAPPROC epoxy_glXDestroyPixmap;
61    PFNGLXDESTROYWINDOWPROC epoxy_glXDestroyWindow;
62    PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC epoxy_glXEnumerateVideoCaptureDevicesNV;
63    PFNGLXENUMERATEVIDEODEVICESNVPROC epoxy_glXEnumerateVideoDevicesNV;
64    PFNGLXFREECONTEXTEXTPROC epoxy_glXFreeContextEXT;
65    PFNGLXGETAGPOFFSETMESAPROC epoxy_glXGetAGPOffsetMESA;
66    PFNGLXGETCLIENTSTRINGPROC epoxy_glXGetClientString;
67    PFNGLXGETCONFIGPROC epoxy_glXGetConfig;
68    PFNGLXGETCONTEXTGPUIDAMDPROC epoxy_glXGetContextGPUIDAMD;
69    PFNGLXGETCONTEXTIDEXTPROC epoxy_glXGetContextIDEXT;
70    PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC epoxy_glXGetCurrentAssociatedContextAMD;
71    PFNGLXGETCURRENTCONTEXTPROC epoxy_glXGetCurrentContext;
72    PFNGLXGETCURRENTDISPLAYPROC epoxy_glXGetCurrentDisplay;
73    PFNGLXGETCURRENTDISPLAYEXTPROC epoxy_glXGetCurrentDisplayEXT;
74    PFNGLXGETCURRENTDRAWABLEPROC epoxy_glXGetCurrentDrawable;
75    PFNGLXGETCURRENTREADDRAWABLEPROC epoxy_glXGetCurrentReadDrawable;
76    PFNGLXGETCURRENTREADDRAWABLESGIPROC epoxy_glXGetCurrentReadDrawableSGI;
77    PFNGLXGETFBCONFIGATTRIBPROC epoxy_glXGetFBConfigAttrib;
78    PFNGLXGETFBCONFIGATTRIBSGIXPROC epoxy_glXGetFBConfigAttribSGIX;
79    PFNGLXGETFBCONFIGFROMVISUALSGIXPROC epoxy_glXGetFBConfigFromVisualSGIX;
80    PFNGLXGETFBCONFIGSPROC epoxy_glXGetFBConfigs;
81    PFNGLXGETGPUIDSAMDPROC epoxy_glXGetGPUIDsAMD;
82    PFNGLXGETGPUINFOAMDPROC epoxy_glXGetGPUInfoAMD;
83    PFNGLXGETMSCRATEOMLPROC epoxy_glXGetMscRateOML;
84    PFNGLXGETPROCADDRESSPROC epoxy_glXGetProcAddress;
85    PFNGLXGETPROCADDRESSARBPROC epoxy_glXGetProcAddressARB;
86    PFNGLXGETSELECTEDEVENTPROC epoxy_glXGetSelectedEvent;
87    PFNGLXGETSELECTEDEVENTSGIXPROC epoxy_glXGetSelectedEventSGIX;
88    PFNGLXGETSYNCVALUESOMLPROC epoxy_glXGetSyncValuesOML;
89    PFNGLXGETTRANSPARENTINDEXSUNPROC epoxy_glXGetTransparentIndexSUN;
90    PFNGLXGETVIDEODEVICENVPROC epoxy_glXGetVideoDeviceNV;
91    PFNGLXGETVIDEOINFONVPROC epoxy_glXGetVideoInfoNV;
92    PFNGLXGETVIDEOSYNCSGIPROC epoxy_glXGetVideoSyncSGI;
93    PFNGLXGETVISUALFROMFBCONFIGPROC epoxy_glXGetVisualFromFBConfig;
94    PFNGLXGETVISUALFROMFBCONFIGSGIXPROC epoxy_glXGetVisualFromFBConfigSGIX;
95    PFNGLXHYPERPIPEATTRIBSGIXPROC epoxy_glXHyperpipeAttribSGIX;
96    PFNGLXHYPERPIPECONFIGSGIXPROC epoxy_glXHyperpipeConfigSGIX;
97    PFNGLXIMPORTCONTEXTEXTPROC epoxy_glXImportContextEXT;
98    PFNGLXISDIRECTPROC epoxy_glXIsDirect;
99    PFNGLXJOINSWAPGROUPNVPROC epoxy_glXJoinSwapGroupNV;
100    PFNGLXJOINSWAPGROUPSGIXPROC epoxy_glXJoinSwapGroupSGIX;
101    PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC epoxy_glXLockVideoCaptureDeviceNV;
102    PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC epoxy_glXMakeAssociatedContextCurrentAMD;
103    PFNGLXMAKECONTEXTCURRENTPROC epoxy_glXMakeContextCurrent;
104    PFNGLXMAKECURRENTPROC epoxy_glXMakeCurrent;
105    PFNGLXMAKECURRENTREADSGIPROC epoxy_glXMakeCurrentReadSGI;
106    PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC epoxy_glXNamedCopyBufferSubDataNV;
107    PFNGLXQUERYCHANNELDELTASSGIXPROC epoxy_glXQueryChannelDeltasSGIX;
108    PFNGLXQUERYCHANNELRECTSGIXPROC epoxy_glXQueryChannelRectSGIX;
109    PFNGLXQUERYCONTEXTPROC epoxy_glXQueryContext;
110    PFNGLXQUERYCONTEXTINFOEXTPROC epoxy_glXQueryContextInfoEXT;
111    PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC epoxy_glXQueryCurrentRendererIntegerMESA;
112    PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC epoxy_glXQueryCurrentRendererStringMESA;
113    PFNGLXQUERYDRAWABLEPROC epoxy_glXQueryDrawable;
114    PFNGLXQUERYEXTENSIONPROC epoxy_glXQueryExtension;
115    PFNGLXQUERYEXTENSIONSSTRINGPROC epoxy_glXQueryExtensionsString;
116    PFNGLXQUERYFRAMECOUNTNVPROC epoxy_glXQueryFrameCountNV;
117    PFNGLXQUERYGLXPBUFFERSGIXPROC epoxy_glXQueryGLXPbufferSGIX;
118    PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC epoxy_glXQueryHyperpipeAttribSGIX;
119    PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC epoxy_glXQueryHyperpipeBestAttribSGIX;
120    PFNGLXQUERYHYPERPIPECONFIGSGIXPROC epoxy_glXQueryHyperpipeConfigSGIX;
121    PFNGLXQUERYHYPERPIPENETWORKSGIXPROC epoxy_glXQueryHyperpipeNetworkSGIX;
122    PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC epoxy_glXQueryMaxSwapBarriersSGIX;
123    PFNGLXQUERYMAXSWAPGROUPSNVPROC epoxy_glXQueryMaxSwapGroupsNV;
124    PFNGLXQUERYRENDERERINTEGERMESAPROC epoxy_glXQueryRendererIntegerMESA;
125    PFNGLXQUERYRENDERERSTRINGMESAPROC epoxy_glXQueryRendererStringMESA;
126    PFNGLXQUERYSERVERSTRINGPROC epoxy_glXQueryServerString;
127    PFNGLXQUERYSWAPGROUPNVPROC epoxy_glXQuerySwapGroupNV;
128    PFNGLXQUERYVERSIONPROC epoxy_glXQueryVersion;
129    PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC epoxy_glXQueryVideoCaptureDeviceNV;
130    PFNGLXRELEASEBUFFERSMESAPROC epoxy_glXReleaseBuffersMESA;
131    PFNGLXRELEASETEXIMAGEEXTPROC epoxy_glXReleaseTexImageEXT;
132    PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC epoxy_glXReleaseVideoCaptureDeviceNV;
133    PFNGLXRELEASEVIDEODEVICENVPROC epoxy_glXReleaseVideoDeviceNV;
134    PFNGLXRELEASEVIDEOIMAGENVPROC epoxy_glXReleaseVideoImageNV;
135    PFNGLXRESETFRAMECOUNTNVPROC epoxy_glXResetFrameCountNV;
136    PFNGLXSELECTEVENTPROC epoxy_glXSelectEvent;
137    PFNGLXSELECTEVENTSGIXPROC epoxy_glXSelectEventSGIX;
138    PFNGLXSENDPBUFFERTOVIDEONVPROC epoxy_glXSendPbufferToVideoNV;
139    PFNGLXSET3DFXMODEMESAPROC epoxy_glXSet3DfxModeMESA;
140    PFNGLXSWAPBUFFERSPROC epoxy_glXSwapBuffers;
141    PFNGLXSWAPBUFFERSMSCOMLPROC epoxy_glXSwapBuffersMscOML;
142    PFNGLXSWAPINTERVALEXTPROC epoxy_glXSwapIntervalEXT;
143    PFNGLXSWAPINTERVALSGIPROC epoxy_glXSwapIntervalSGI;
144    PFNGLXUSEXFONTPROC epoxy_glXUseXFont;
145    PFNGLXWAITFORMSCOMLPROC epoxy_glXWaitForMscOML;
146    PFNGLXWAITFORSBCOMLPROC epoxy_glXWaitForSbcOML;
147    PFNGLXWAITGLPROC epoxy_glXWaitGL;
148    PFNGLXWAITVIDEOSYNCSGIPROC epoxy_glXWaitVideoSyncSGI;
149    PFNGLXWAITXPROC epoxy_glXWaitX;
150};
151
152#if USING_DISPATCH_TABLE
153static inline struct dispatch_table *
154get_dispatch_table(void);
155
156#endif
157
158enum glx_provider {
159    glx_provider_terminator = 0,
160    GLX_10,
161    GLX_11,
162    GLX_12,
163    GLX_13,
164    GLX_extension_GLX_AMD_gpu_association,
165    GLX_extension_GLX_ARB_create_context,
166    GLX_extension_GLX_ARB_get_proc_address,
167    GLX_extension_GLX_EXT_import_context,
168    GLX_extension_GLX_EXT_swap_control,
169    GLX_extension_GLX_EXT_texture_from_pixmap,
170    GLX_extension_GLX_MESA_agp_offset,
171    GLX_extension_GLX_MESA_copy_sub_buffer,
172    GLX_extension_GLX_MESA_pixmap_colormap,
173    GLX_extension_GLX_MESA_query_renderer,
174    GLX_extension_GLX_MESA_release_buffers,
175    GLX_extension_GLX_MESA_set_3dfx_mode,
176    GLX_extension_GLX_NV_copy_buffer,
177    GLX_extension_GLX_NV_copy_image,
178    GLX_extension_GLX_NV_delay_before_swap,
179    GLX_extension_GLX_NV_present_video,
180    GLX_extension_GLX_NV_swap_group,
181    GLX_extension_GLX_NV_video_capture,
182    GLX_extension_GLX_NV_video_out,
183    GLX_extension_GLX_OML_sync_control,
184    GLX_extension_GLX_SGIX_fbconfig,
185    GLX_extension_GLX_SGIX_hyperpipe,
186    GLX_extension_GLX_SGIX_pbuffer,
187    GLX_extension_GLX_SGIX_swap_barrier,
188    GLX_extension_GLX_SGIX_swap_group,
189    GLX_extension_GLX_SGIX_video_resize,
190    GLX_extension_GLX_SGIX_video_source,
191    GLX_extension_GLX_SGI_cushion,
192    GLX_extension_GLX_SGI_make_current_read,
193    GLX_extension_GLX_SGI_swap_control,
194    GLX_extension_GLX_SGI_video_sync,
195    GLX_extension_GLX_SUN_get_transparent_index,
196    always_present,
197} PACKED;
198ENDPACKED
199
200static const char *enum_string =
201    "GLX 10\0"
202    "GLX 11\0"
203    "GLX 12\0"
204    "GLX 13\0"
205    "GLX extension \"GLX_AMD_gpu_association\"\0"
206    "GLX extension \"GLX_ARB_create_context\"\0"
207    "GLX extension \"GLX_ARB_get_proc_address\"\0"
208    "GLX extension \"GLX_EXT_import_context\"\0"
209    "GLX extension \"GLX_EXT_swap_control\"\0"
210    "GLX extension \"GLX_EXT_texture_from_pixmap\"\0"
211    "GLX extension \"GLX_MESA_agp_offset\"\0"
212    "GLX extension \"GLX_MESA_copy_sub_buffer\"\0"
213    "GLX extension \"GLX_MESA_pixmap_colormap\"\0"
214    "GLX extension \"GLX_MESA_query_renderer\"\0"
215    "GLX extension \"GLX_MESA_release_buffers\"\0"
216    "GLX extension \"GLX_MESA_set_3dfx_mode\"\0"
217    "GLX extension \"GLX_NV_copy_buffer\"\0"
218    "GLX extension \"GLX_NV_copy_image\"\0"
219    "GLX extension \"GLX_NV_delay_before_swap\"\0"
220    "GLX extension \"GLX_NV_present_video\"\0"
221    "GLX extension \"GLX_NV_swap_group\"\0"
222    "GLX extension \"GLX_NV_video_capture\"\0"
223    "GLX extension \"GLX_NV_video_out\"\0"
224    "GLX extension \"GLX_OML_sync_control\"\0"
225    "GLX extension \"GLX_SGIX_fbconfig\"\0"
226    "GLX extension \"GLX_SGIX_hyperpipe\"\0"
227    "GLX extension \"GLX_SGIX_pbuffer\"\0"
228    "GLX extension \"GLX_SGIX_swap_barrier\"\0"
229    "GLX extension \"GLX_SGIX_swap_group\"\0"
230    "GLX extension \"GLX_SGIX_video_resize\"\0"
231    "GLX extension \"GLX_SGIX_video_source\"\0"
232    "GLX extension \"GLX_SGI_cushion\"\0"
233    "GLX extension \"GLX_SGI_make_current_read\"\0"
234    "GLX extension \"GLX_SGI_swap_control\"\0"
235    "GLX extension \"GLX_SGI_video_sync\"\0"
236    "GLX extension \"GLX_SUN_get_transparent_index\"\0"
237    "always present\0"
238     ;
239
240static const uint16_t enum_string_offsets[] = {
241    -1, /* glx_provider_terminator, unused */
242    0, /* GLX_10 */
243    7, /* GLX_11 */
244    14, /* GLX_12 */
245    21, /* GLX_13 */
246    28, /* GLX_extension_GLX_AMD_gpu_association */
247    68, /* GLX_extension_GLX_ARB_create_context */
248    107, /* GLX_extension_GLX_ARB_get_proc_address */
249    148, /* GLX_extension_GLX_EXT_import_context */
250    187, /* GLX_extension_GLX_EXT_swap_control */
251    224, /* GLX_extension_GLX_EXT_texture_from_pixmap */
252    268, /* GLX_extension_GLX_MESA_agp_offset */
253    304, /* GLX_extension_GLX_MESA_copy_sub_buffer */
254    345, /* GLX_extension_GLX_MESA_pixmap_colormap */
255    386, /* GLX_extension_GLX_MESA_query_renderer */
256    426, /* GLX_extension_GLX_MESA_release_buffers */
257    467, /* GLX_extension_GLX_MESA_set_3dfx_mode */
258    506, /* GLX_extension_GLX_NV_copy_buffer */
259    541, /* GLX_extension_GLX_NV_copy_image */
260    575, /* GLX_extension_GLX_NV_delay_before_swap */
261    616, /* GLX_extension_GLX_NV_present_video */
262    653, /* GLX_extension_GLX_NV_swap_group */
263    687, /* GLX_extension_GLX_NV_video_capture */
264    724, /* GLX_extension_GLX_NV_video_out */
265    757, /* GLX_extension_GLX_OML_sync_control */
266    794, /* GLX_extension_GLX_SGIX_fbconfig */
267    828, /* GLX_extension_GLX_SGIX_hyperpipe */
268    863, /* GLX_extension_GLX_SGIX_pbuffer */
269    896, /* GLX_extension_GLX_SGIX_swap_barrier */
270    934, /* GLX_extension_GLX_SGIX_swap_group */
271    970, /* GLX_extension_GLX_SGIX_video_resize */
272    1008, /* GLX_extension_GLX_SGIX_video_source */
273    1046, /* GLX_extension_GLX_SGI_cushion */
274    1078, /* GLX_extension_GLX_SGI_make_current_read */
275    1120, /* GLX_extension_GLX_SGI_swap_control */
276    1157, /* GLX_extension_GLX_SGI_video_sync */
277    1192, /* GLX_extension_GLX_SUN_get_transparent_index */
278    1238, /* always_present */
279};
280
281static const char entrypoint_strings[] = {
282   'g',
283   'l',
284   'X',
285   'B',
286   'i',
287   'n',
288   'd',
289   'C',
290   'h',
291   'a',
292   'n',
293   'n',
294   'e',
295   'l',
296   'T',
297   'o',
298   'W',
299   'i',
300   'n',
301   'd',
302   'o',
303   'w',
304   'S',
305   'G',
306   'I',
307   'X',
308   0, // glXBindChannelToWindowSGIX
309   'g',
310   'l',
311   'X',
312   'B',
313   'i',
314   'n',
315   'd',
316   'H',
317   'y',
318   'p',
319   'e',
320   'r',
321   'p',
322   'i',
323   'p',
324   'e',
325   'S',
326   'G',
327   'I',
328   'X',
329   0, // glXBindHyperpipeSGIX
330   'g',
331   'l',
332   'X',
333   'B',
334   'i',
335   'n',
336   'd',
337   'S',
338   'w',
339   'a',
340   'p',
341   'B',
342   'a',
343   'r',
344   'r',
345   'i',
346   'e',
347   'r',
348   'N',
349   'V',
350   0, // glXBindSwapBarrierNV
351   'g',
352   'l',
353   'X',
354   'B',
355   'i',
356   'n',
357   'd',
358   'S',
359   'w',
360   'a',
361   'p',
362   'B',
363   'a',
364   'r',
365   'r',
366   'i',
367   'e',
368   'r',
369   'S',
370   'G',
371   'I',
372   'X',
373   0, // glXBindSwapBarrierSGIX
374   'g',
375   'l',
376   'X',
377   'B',
378   'i',
379   'n',
380   'd',
381   'T',
382   'e',
383   'x',
384   'I',
385   'm',
386   'a',
387   'g',
388   'e',
389   'E',
390   'X',
391   'T',
392   0, // glXBindTexImageEXT
393   'g',
394   'l',
395   'X',
396   'B',
397   'i',
398   'n',
399   'd',
400   'V',
401   'i',
402   'd',
403   'e',
404   'o',
405   'C',
406   'a',
407   'p',
408   't',
409   'u',
410   'r',
411   'e',
412   'D',
413   'e',
414   'v',
415   'i',
416   'c',
417   'e',
418   'N',
419   'V',
420   0, // glXBindVideoCaptureDeviceNV
421   'g',
422   'l',
423   'X',
424   'B',
425   'i',
426   'n',
427   'd',
428   'V',
429   'i',
430   'd',
431   'e',
432   'o',
433   'D',
434   'e',
435   'v',
436   'i',
437   'c',
438   'e',
439   'N',
440   'V',
441   0, // glXBindVideoDeviceNV
442   'g',
443   'l',
444   'X',
445   'B',
446   'i',
447   'n',
448   'd',
449   'V',
450   'i',
451   'd',
452   'e',
453   'o',
454   'I',
455   'm',
456   'a',
457   'g',
458   'e',
459   'N',
460   'V',
461   0, // glXBindVideoImageNV
462   'g',
463   'l',
464   'X',
465   'B',
466   'l',
467   'i',
468   't',
469   'C',
470   'o',
471   'n',
472   't',
473   'e',
474   'x',
475   't',
476   'F',
477   'r',
478   'a',
479   'm',
480   'e',
481   'b',
482   'u',
483   'f',
484   'f',
485   'e',
486   'r',
487   'A',
488   'M',
489   'D',
490   0, // glXBlitContextFramebufferAMD
491   'g',
492   'l',
493   'X',
494   'C',
495   'h',
496   'a',
497   'n',
498   'n',
499   'e',
500   'l',
501   'R',
502   'e',
503   'c',
504   't',
505   'S',
506   'G',
507   'I',
508   'X',
509   0, // glXChannelRectSGIX
510   'g',
511   'l',
512   'X',
513   'C',
514   'h',
515   'a',
516   'n',
517   'n',
518   'e',
519   'l',
520   'R',
521   'e',
522   'c',
523   't',
524   'S',
525   'y',
526   'n',
527   'c',
528   'S',
529   'G',
530   'I',
531   'X',
532   0, // glXChannelRectSyncSGIX
533   'g',
534   'l',
535   'X',
536   'C',
537   'h',
538   'o',
539   'o',
540   's',
541   'e',
542   'F',
543   'B',
544   'C',
545   'o',
546   'n',
547   'f',
548   'i',
549   'g',
550   0, // glXChooseFBConfig
551   'g',
552   'l',
553   'X',
554   'C',
555   'h',
556   'o',
557   'o',
558   's',
559   'e',
560   'F',
561   'B',
562   'C',
563   'o',
564   'n',
565   'f',
566   'i',
567   'g',
568   'S',
569   'G',
570   'I',
571   'X',
572   0, // glXChooseFBConfigSGIX
573   'g',
574   'l',
575   'X',
576   'C',
577   'h',
578   'o',
579   'o',
580   's',
581   'e',
582   'V',
583   'i',
584   's',
585   'u',
586   'a',
587   'l',
588   0, // glXChooseVisual
589   'g',
590   'l',
591   'X',
592   'C',
593   'o',
594   'p',
595   'y',
596   'B',
597   'u',
598   'f',
599   'f',
600   'e',
601   'r',
602   'S',
603   'u',
604   'b',
605   'D',
606   'a',
607   't',
608   'a',
609   'N',
610   'V',
611   0, // glXCopyBufferSubDataNV
612   'g',
613   'l',
614   'X',
615   'C',
616   'o',
617   'p',
618   'y',
619   'C',
620   'o',
621   'n',
622   't',
623   'e',
624   'x',
625   't',
626   0, // glXCopyContext
627   'g',
628   'l',
629   'X',
630   'C',
631   'o',
632   'p',
633   'y',
634   'I',
635   'm',
636   'a',
637   'g',
638   'e',
639   'S',
640   'u',
641   'b',
642   'D',
643   'a',
644   't',
645   'a',
646   'N',
647   'V',
648   0, // glXCopyImageSubDataNV
649   'g',
650   'l',
651   'X',
652   'C',
653   'o',
654   'p',
655   'y',
656   'S',
657   'u',
658   'b',
659   'B',
660   'u',
661   'f',
662   'f',
663   'e',
664   'r',
665   'M',
666   'E',
667   'S',
668   'A',
669   0, // glXCopySubBufferMESA
670   'g',
671   'l',
672   'X',
673   'C',
674   'r',
675   'e',
676   'a',
677   't',
678   'e',
679   'A',
680   's',
681   's',
682   'o',
683   'c',
684   'i',
685   'a',
686   't',
687   'e',
688   'd',
689   'C',
690   'o',
691   'n',
692   't',
693   'e',
694   'x',
695   't',
696   'A',
697   'M',
698   'D',
699   0, // glXCreateAssociatedContextAMD
700   'g',
701   'l',
702   'X',
703   'C',
704   'r',
705   'e',
706   'a',
707   't',
708   'e',
709   'A',
710   's',
711   's',
712   'o',
713   'c',
714   'i',
715   'a',
716   't',
717   'e',
718   'd',
719   'C',
720   'o',
721   'n',
722   't',
723   'e',
724   'x',
725   't',
726   'A',
727   't',
728   't',
729   'r',
730   'i',
731   'b',
732   's',
733   'A',
734   'M',
735   'D',
736   0, // glXCreateAssociatedContextAttribsAMD
737   'g',
738   'l',
739   'X',
740   'C',
741   'r',
742   'e',
743   'a',
744   't',
745   'e',
746   'C',
747   'o',
748   'n',
749   't',
750   'e',
751   'x',
752   't',
753   0, // glXCreateContext
754   'g',
755   'l',
756   'X',
757   'C',
758   'r',
759   'e',
760   'a',
761   't',
762   'e',
763   'C',
764   'o',
765   'n',
766   't',
767   'e',
768   'x',
769   't',
770   'A',
771   't',
772   't',
773   'r',
774   'i',
775   'b',
776   's',
777   'A',
778   'R',
779   'B',
780   0, // glXCreateContextAttribsARB
781   'g',
782   'l',
783   'X',
784   'C',
785   'r',
786   'e',
787   'a',
788   't',
789   'e',
790   'C',
791   'o',
792   'n',
793   't',
794   'e',
795   'x',
796   't',
797   'W',
798   'i',
799   't',
800   'h',
801   'C',
802   'o',
803   'n',
804   'f',
805   'i',
806   'g',
807   'S',
808   'G',
809   'I',
810   'X',
811   0, // glXCreateContextWithConfigSGIX
812   'g',
813   'l',
814   'X',
815   'C',
816   'r',
817   'e',
818   'a',
819   't',
820   'e',
821   'G',
822   'L',
823   'X',
824   'P',
825   'b',
826   'u',
827   'f',
828   'f',
829   'e',
830   'r',
831   'S',
832   'G',
833   'I',
834   'X',
835   0, // glXCreateGLXPbufferSGIX
836   'g',
837   'l',
838   'X',
839   'C',
840   'r',
841   'e',
842   'a',
843   't',
844   'e',
845   'G',
846   'L',
847   'X',
848   'P',
849   'i',
850   'x',
851   'm',
852   'a',
853   'p',
854   0, // glXCreateGLXPixmap
855   'g',
856   'l',
857   'X',
858   'C',
859   'r',
860   'e',
861   'a',
862   't',
863   'e',
864   'G',
865   'L',
866   'X',
867   'P',
868   'i',
869   'x',
870   'm',
871   'a',
872   'p',
873   'M',
874   'E',
875   'S',
876   'A',
877   0, // glXCreateGLXPixmapMESA
878   'g',
879   'l',
880   'X',
881   'C',
882   'r',
883   'e',
884   'a',
885   't',
886   'e',
887   'G',
888   'L',
889   'X',
890   'P',
891   'i',
892   'x',
893   'm',
894   'a',
895   'p',
896   'W',
897   'i',
898   't',
899   'h',
900   'C',
901   'o',
902   'n',
903   'f',
904   'i',
905   'g',
906   'S',
907   'G',
908   'I',
909   'X',
910   0, // glXCreateGLXPixmapWithConfigSGIX
911   'g',
912   'l',
913   'X',
914   'C',
915   'r',
916   'e',
917   'a',
918   't',
919   'e',
920   'N',
921   'e',
922   'w',
923   'C',
924   'o',
925   'n',
926   't',
927   'e',
928   'x',
929   't',
930   0, // glXCreateNewContext
931   'g',
932   'l',
933   'X',
934   'C',
935   'r',
936   'e',
937   'a',
938   't',
939   'e',
940   'P',
941   'b',
942   'u',
943   'f',
944   'f',
945   'e',
946   'r',
947   0, // glXCreatePbuffer
948   'g',
949   'l',
950   'X',
951   'C',
952   'r',
953   'e',
954   'a',
955   't',
956   'e',
957   'P',
958   'i',
959   'x',
960   'm',
961   'a',
962   'p',
963   0, // glXCreatePixmap
964   'g',
965   'l',
966   'X',
967   'C',
968   'r',
969   'e',
970   'a',
971   't',
972   'e',
973   'W',
974   'i',
975   'n',
976   'd',
977   'o',
978   'w',
979   0, // glXCreateWindow
980   'g',
981   'l',
982   'X',
983   'C',
984   'u',
985   's',
986   'h',
987   'i',
988   'o',
989   'n',
990   'S',
991   'G',
992   'I',
993   0, // glXCushionSGI
994   'g',
995   'l',
996   'X',
997   'D',
998   'e',
999   'l',
1000   'a',
1001   'y',
1002   'B',
1003   'e',
1004   'f',
1005   'o',
1006   'r',
1007   'e',
1008   'S',
1009   'w',
1010   'a',
1011   'p',
1012   'N',
1013   'V',
1014   0, // glXDelayBeforeSwapNV
1015   'g',
1016   'l',
1017   'X',
1018   'D',
1019   'e',
1020   'l',
1021   'e',
1022   't',
1023   'e',
1024   'A',
1025   's',
1026   's',
1027   'o',
1028   'c',
1029   'i',
1030   'a',
1031   't',
1032   'e',
1033   'd',
1034   'C',
1035   'o',
1036   'n',
1037   't',
1038   'e',
1039   'x',
1040   't',
1041   'A',
1042   'M',
1043   'D',
1044   0, // glXDeleteAssociatedContextAMD
1045   'g',
1046   'l',
1047   'X',
1048   'D',
1049   'e',
1050   's',
1051   't',
1052   'r',
1053   'o',
1054   'y',
1055   'C',
1056   'o',
1057   'n',
1058   't',
1059   'e',
1060   'x',
1061   't',
1062   0, // glXDestroyContext
1063   'g',
1064   'l',
1065   'X',
1066   'D',
1067   'e',
1068   's',
1069   't',
1070   'r',
1071   'o',
1072   'y',
1073   'G',
1074   'L',
1075   'X',
1076   'P',
1077   'b',
1078   'u',
1079   'f',
1080   'f',
1081   'e',
1082   'r',
1083   'S',
1084   'G',
1085   'I',
1086   'X',
1087   0, // glXDestroyGLXPbufferSGIX
1088   'g',
1089   'l',
1090   'X',
1091   'D',
1092   'e',
1093   's',
1094   't',
1095   'r',
1096   'o',
1097   'y',
1098   'G',
1099   'L',
1100   'X',
1101   'P',
1102   'i',
1103   'x',
1104   'm',
1105   'a',
1106   'p',
1107   0, // glXDestroyGLXPixmap
1108   'g',
1109   'l',
1110   'X',
1111   'D',
1112   'e',
1113   's',
1114   't',
1115   'r',
1116   'o',
1117   'y',
1118   'G',
1119   'L',
1120   'X',
1121   'V',
1122   'i',
1123   'd',
1124   'e',
1125   'o',
1126   'S',
1127   'o',
1128   'u',
1129   'r',
1130   'c',
1131   'e',
1132   'S',
1133   'G',
1134   'I',
1135   'X',
1136   0, // glXDestroyGLXVideoSourceSGIX
1137   'g',
1138   'l',
1139   'X',
1140   'D',
1141   'e',
1142   's',
1143   't',
1144   'r',
1145   'o',
1146   'y',
1147   'H',
1148   'y',
1149   'p',
1150   'e',
1151   'r',
1152   'p',
1153   'i',
1154   'p',
1155   'e',
1156   'C',
1157   'o',
1158   'n',
1159   'f',
1160   'i',
1161   'g',
1162   'S',
1163   'G',
1164   'I',
1165   'X',
1166   0, // glXDestroyHyperpipeConfigSGIX
1167   'g',
1168   'l',
1169   'X',
1170   'D',
1171   'e',
1172   's',
1173   't',
1174   'r',
1175   'o',
1176   'y',
1177   'P',
1178   'b',
1179   'u',
1180   'f',
1181   'f',
1182   'e',
1183   'r',
1184   0, // glXDestroyPbuffer
1185   'g',
1186   'l',
1187   'X',
1188   'D',
1189   'e',
1190   's',
1191   't',
1192   'r',
1193   'o',
1194   'y',
1195   'P',
1196   'i',
1197   'x',
1198   'm',
1199   'a',
1200   'p',
1201   0, // glXDestroyPixmap
1202   'g',
1203   'l',
1204   'X',
1205   'D',
1206   'e',
1207   's',
1208   't',
1209   'r',
1210   'o',
1211   'y',
1212   'W',
1213   'i',
1214   'n',
1215   'd',
1216   'o',
1217   'w',
1218   0, // glXDestroyWindow
1219   'g',
1220   'l',
1221   'X',
1222   'E',
1223   'n',
1224   'u',
1225   'm',
1226   'e',
1227   'r',
1228   'a',
1229   't',
1230   'e',
1231   'V',
1232   'i',
1233   'd',
1234   'e',
1235   'o',
1236   'C',
1237   'a',
1238   'p',
1239   't',
1240   'u',
1241   'r',
1242   'e',
1243   'D',
1244   'e',
1245   'v',
1246   'i',
1247   'c',
1248   'e',
1249   's',
1250   'N',
1251   'V',
1252   0, // glXEnumerateVideoCaptureDevicesNV
1253   'g',
1254   'l',
1255   'X',
1256   'E',
1257   'n',
1258   'u',
1259   'm',
1260   'e',
1261   'r',
1262   'a',
1263   't',
1264   'e',
1265   'V',
1266   'i',
1267   'd',
1268   'e',
1269   'o',
1270   'D',
1271   'e',
1272   'v',
1273   'i',
1274   'c',
1275   'e',
1276   's',
1277   'N',
1278   'V',
1279   0, // glXEnumerateVideoDevicesNV
1280   'g',
1281   'l',
1282   'X',
1283   'F',
1284   'r',
1285   'e',
1286   'e',
1287   'C',
1288   'o',
1289   'n',
1290   't',
1291   'e',
1292   'x',
1293   't',
1294   'E',
1295   'X',
1296   'T',
1297   0, // glXFreeContextEXT
1298   'g',
1299   'l',
1300   'X',
1301   'G',
1302   'e',
1303   't',
1304   'A',
1305   'G',
1306   'P',
1307   'O',
1308   'f',
1309   'f',
1310   's',
1311   'e',
1312   't',
1313   'M',
1314   'E',
1315   'S',
1316   'A',
1317   0, // glXGetAGPOffsetMESA
1318   'g',
1319   'l',
1320   'X',
1321   'G',
1322   'e',
1323   't',
1324   'C',
1325   'l',
1326   'i',
1327   'e',
1328   'n',
1329   't',
1330   'S',
1331   't',
1332   'r',
1333   'i',
1334   'n',
1335   'g',
1336   0, // glXGetClientString
1337   'g',
1338   'l',
1339   'X',
1340   'G',
1341   'e',
1342   't',
1343   'C',
1344   'o',
1345   'n',
1346   'f',
1347   'i',
1348   'g',
1349   0, // glXGetConfig
1350   'g',
1351   'l',
1352   'X',
1353   'G',
1354   'e',
1355   't',
1356   'C',
1357   'o',
1358   'n',
1359   't',
1360   'e',
1361   'x',
1362   't',
1363   'G',
1364   'P',
1365   'U',
1366   'I',
1367   'D',
1368   'A',
1369   'M',
1370   'D',
1371   0, // glXGetContextGPUIDAMD
1372   'g',
1373   'l',
1374   'X',
1375   'G',
1376   'e',
1377   't',
1378   'C',
1379   'o',
1380   'n',
1381   't',
1382   'e',
1383   'x',
1384   't',
1385   'I',
1386   'D',
1387   'E',
1388   'X',
1389   'T',
1390   0, // glXGetContextIDEXT
1391   'g',
1392   'l',
1393   'X',
1394   'G',
1395   'e',
1396   't',
1397   'C',
1398   'u',
1399   'r',
1400   'r',
1401   'e',
1402   'n',
1403   't',
1404   'A',
1405   's',
1406   's',
1407   'o',
1408   'c',
1409   'i',
1410   'a',
1411   't',
1412   'e',
1413   'd',
1414   'C',
1415   'o',
1416   'n',
1417   't',
1418   'e',
1419   'x',
1420   't',
1421   'A',
1422   'M',
1423   'D',
1424   0, // glXGetCurrentAssociatedContextAMD
1425   'g',
1426   'l',
1427   'X',
1428   'G',
1429   'e',
1430   't',
1431   'C',
1432   'u',
1433   'r',
1434   'r',
1435   'e',
1436   'n',
1437   't',
1438   'C',
1439   'o',
1440   'n',
1441   't',
1442   'e',
1443   'x',
1444   't',
1445   0, // glXGetCurrentContext
1446   'g',
1447   'l',
1448   'X',
1449   'G',
1450   'e',
1451   't',
1452   'C',
1453   'u',
1454   'r',
1455   'r',
1456   'e',
1457   'n',
1458   't',
1459   'D',
1460   'i',
1461   's',
1462   'p',
1463   'l',
1464   'a',
1465   'y',
1466   0, // glXGetCurrentDisplay
1467   'g',
1468   'l',
1469   'X',
1470   'G',
1471   'e',
1472   't',
1473   'C',
1474   'u',
1475   'r',
1476   'r',
1477   'e',
1478   'n',
1479   't',
1480   'D',
1481   'i',
1482   's',
1483   'p',
1484   'l',
1485   'a',
1486   'y',
1487   'E',
1488   'X',
1489   'T',
1490   0, // glXGetCurrentDisplayEXT
1491   'g',
1492   'l',
1493   'X',
1494   'G',
1495   'e',
1496   't',
1497   'C',
1498   'u',
1499   'r',
1500   'r',
1501   'e',
1502   'n',
1503   't',
1504   'D',
1505   'r',
1506   'a',
1507   'w',
1508   'a',
1509   'b',
1510   'l',
1511   'e',
1512   0, // glXGetCurrentDrawable
1513   'g',
1514   'l',
1515   'X',
1516   'G',
1517   'e',
1518   't',
1519   'C',
1520   'u',
1521   'r',
1522   'r',
1523   'e',
1524   'n',
1525   't',
1526   'R',
1527   'e',
1528   'a',
1529   'd',
1530   'D',
1531   'r',
1532   'a',
1533   'w',
1534   'a',
1535   'b',
1536   'l',
1537   'e',
1538   0, // glXGetCurrentReadDrawable
1539   'g',
1540   'l',
1541   'X',
1542   'G',
1543   'e',
1544   't',
1545   'C',
1546   'u',
1547   'r',
1548   'r',
1549   'e',
1550   'n',
1551   't',
1552   'R',
1553   'e',
1554   'a',
1555   'd',
1556   'D',
1557   'r',
1558   'a',
1559   'w',
1560   'a',
1561   'b',
1562   'l',
1563   'e',
1564   'S',
1565   'G',
1566   'I',
1567   0, // glXGetCurrentReadDrawableSGI
1568   'g',
1569   'l',
1570   'X',
1571   'G',
1572   'e',
1573   't',
1574   'F',
1575   'B',
1576   'C',
1577   'o',
1578   'n',
1579   'f',
1580   'i',
1581   'g',
1582   'A',
1583   't',
1584   't',
1585   'r',
1586   'i',
1587   'b',
1588   0, // glXGetFBConfigAttrib
1589   'g',
1590   'l',
1591   'X',
1592   'G',
1593   'e',
1594   't',
1595   'F',
1596   'B',
1597   'C',
1598   'o',
1599   'n',
1600   'f',
1601   'i',
1602   'g',
1603   'A',
1604   't',
1605   't',
1606   'r',
1607   'i',
1608   'b',
1609   'S',
1610   'G',
1611   'I',
1612   'X',
1613   0, // glXGetFBConfigAttribSGIX
1614   'g',
1615   'l',
1616   'X',
1617   'G',
1618   'e',
1619   't',
1620   'F',
1621   'B',
1622   'C',
1623   'o',
1624   'n',
1625   'f',
1626   'i',
1627   'g',
1628   'F',
1629   'r',
1630   'o',
1631   'm',
1632   'V',
1633   'i',
1634   's',
1635   'u',
1636   'a',
1637   'l',
1638   'S',
1639   'G',
1640   'I',
1641   'X',
1642   0, // glXGetFBConfigFromVisualSGIX
1643   'g',
1644   'l',
1645   'X',
1646   'G',
1647   'e',
1648   't',
1649   'F',
1650   'B',
1651   'C',
1652   'o',
1653   'n',
1654   'f',
1655   'i',
1656   'g',
1657   's',
1658   0, // glXGetFBConfigs
1659   'g',
1660   'l',
1661   'X',
1662   'G',
1663   'e',
1664   't',
1665   'G',
1666   'P',
1667   'U',
1668   'I',
1669   'D',
1670   's',
1671   'A',
1672   'M',
1673   'D',
1674   0, // glXGetGPUIDsAMD
1675   'g',
1676   'l',
1677   'X',
1678   'G',
1679   'e',
1680   't',
1681   'G',
1682   'P',
1683   'U',
1684   'I',
1685   'n',
1686   'f',
1687   'o',
1688   'A',
1689   'M',
1690   'D',
1691   0, // glXGetGPUInfoAMD
1692   'g',
1693   'l',
1694   'X',
1695   'G',
1696   'e',
1697   't',
1698   'M',
1699   's',
1700   'c',
1701   'R',
1702   'a',
1703   't',
1704   'e',
1705   'O',
1706   'M',
1707   'L',
1708   0, // glXGetMscRateOML
1709   'g',
1710   'l',
1711   'X',
1712   'G',
1713   'e',
1714   't',
1715   'P',
1716   'r',
1717   'o',
1718   'c',
1719   'A',
1720   'd',
1721   'd',
1722   'r',
1723   'e',
1724   's',
1725   's',
1726   0, // glXGetProcAddress
1727   'g',
1728   'l',
1729   'X',
1730   'G',
1731   'e',
1732   't',
1733   'P',
1734   'r',
1735   'o',
1736   'c',
1737   'A',
1738   'd',
1739   'd',
1740   'r',
1741   'e',
1742   's',
1743   's',
1744   'A',
1745   'R',
1746   'B',
1747   0, // glXGetProcAddressARB
1748   'g',
1749   'l',
1750   'X',
1751   'G',
1752   'e',
1753   't',
1754   'S',
1755   'e',
1756   'l',
1757   'e',
1758   'c',
1759   't',
1760   'e',
1761   'd',
1762   'E',
1763   'v',
1764   'e',
1765   'n',
1766   't',
1767   0, // glXGetSelectedEvent
1768   'g',
1769   'l',
1770   'X',
1771   'G',
1772   'e',
1773   't',
1774   'S',
1775   'e',
1776   'l',
1777   'e',
1778   'c',
1779   't',
1780   'e',
1781   'd',
1782   'E',
1783   'v',
1784   'e',
1785   'n',
1786   't',
1787   'S',
1788   'G',
1789   'I',
1790   'X',
1791   0, // glXGetSelectedEventSGIX
1792   'g',
1793   'l',
1794   'X',
1795   'G',
1796   'e',
1797   't',
1798   'S',
1799   'y',
1800   'n',
1801   'c',
1802   'V',
1803   'a',
1804   'l',
1805   'u',
1806   'e',
1807   's',
1808   'O',
1809   'M',
1810   'L',
1811   0, // glXGetSyncValuesOML
1812   'g',
1813   'l',
1814   'X',
1815   'G',
1816   'e',
1817   't',
1818   'T',
1819   'r',
1820   'a',
1821   'n',
1822   's',
1823   'p',
1824   'a',
1825   'r',
1826   'e',
1827   'n',
1828   't',
1829   'I',
1830   'n',
1831   'd',
1832   'e',
1833   'x',
1834   'S',
1835   'U',
1836   'N',
1837   0, // glXGetTransparentIndexSUN
1838   'g',
1839   'l',
1840   'X',
1841   'G',
1842   'e',
1843   't',
1844   'V',
1845   'i',
1846   'd',
1847   'e',
1848   'o',
1849   'D',
1850   'e',
1851   'v',
1852   'i',
1853   'c',
1854   'e',
1855   'N',
1856   'V',
1857   0, // glXGetVideoDeviceNV
1858   'g',
1859   'l',
1860   'X',
1861   'G',
1862   'e',
1863   't',
1864   'V',
1865   'i',
1866   'd',
1867   'e',
1868   'o',
1869   'I',
1870   'n',
1871   'f',
1872   'o',
1873   'N',
1874   'V',
1875   0, // glXGetVideoInfoNV
1876   'g',
1877   'l',
1878   'X',
1879   'G',
1880   'e',
1881   't',
1882   'V',
1883   'i',
1884   'd',
1885   'e',
1886   'o',
1887   'S',
1888   'y',
1889   'n',
1890   'c',
1891   'S',
1892   'G',
1893   'I',
1894   0, // glXGetVideoSyncSGI
1895   'g',
1896   'l',
1897   'X',
1898   'G',
1899   'e',
1900   't',
1901   'V',
1902   'i',
1903   's',
1904   'u',
1905   'a',
1906   'l',
1907   'F',
1908   'r',
1909   'o',
1910   'm',
1911   'F',
1912   'B',
1913   'C',
1914   'o',
1915   'n',
1916   'f',
1917   'i',
1918   'g',
1919   0, // glXGetVisualFromFBConfig
1920   'g',
1921   'l',
1922   'X',
1923   'G',
1924   'e',
1925   't',
1926   'V',
1927   'i',
1928   's',
1929   'u',
1930   'a',
1931   'l',
1932   'F',
1933   'r',
1934   'o',
1935   'm',
1936   'F',
1937   'B',
1938   'C',
1939   'o',
1940   'n',
1941   'f',
1942   'i',
1943   'g',
1944   'S',
1945   'G',
1946   'I',
1947   'X',
1948   0, // glXGetVisualFromFBConfigSGIX
1949   'g',
1950   'l',
1951   'X',
1952   'H',
1953   'y',
1954   'p',
1955   'e',
1956   'r',
1957   'p',
1958   'i',
1959   'p',
1960   'e',
1961   'A',
1962   't',
1963   't',
1964   'r',
1965   'i',
1966   'b',
1967   'S',
1968   'G',
1969   'I',
1970   'X',
1971   0, // glXHyperpipeAttribSGIX
1972   'g',
1973   'l',
1974   'X',
1975   'H',
1976   'y',
1977   'p',
1978   'e',
1979   'r',
1980   'p',
1981   'i',
1982   'p',
1983   'e',
1984   'C',
1985   'o',
1986   'n',
1987   'f',
1988   'i',
1989   'g',
1990   'S',
1991   'G',
1992   'I',
1993   'X',
1994   0, // glXHyperpipeConfigSGIX
1995   'g',
1996   'l',
1997   'X',
1998   'I',
1999   'm',
2000   'p',
2001   'o',
2002   'r',
2003   't',
2004   'C',
2005   'o',
2006   'n',
2007   't',
2008   'e',
2009   'x',
2010   't',
2011   'E',
2012   'X',
2013   'T',
2014   0, // glXImportContextEXT
2015   'g',
2016   'l',
2017   'X',
2018   'I',
2019   's',
2020   'D',
2021   'i',
2022   'r',
2023   'e',
2024   'c',
2025   't',
2026   0, // glXIsDirect
2027   'g',
2028   'l',
2029   'X',
2030   'J',
2031   'o',
2032   'i',
2033   'n',
2034   'S',
2035   'w',
2036   'a',
2037   'p',
2038   'G',
2039   'r',
2040   'o',
2041   'u',
2042   'p',
2043   'N',
2044   'V',
2045   0, // glXJoinSwapGroupNV
2046   'g',
2047   'l',
2048   'X',
2049   'J',
2050   'o',
2051   'i',
2052   'n',
2053   'S',
2054   'w',
2055   'a',
2056   'p',
2057   'G',
2058   'r',
2059   'o',
2060   'u',
2061   'p',
2062   'S',
2063   'G',
2064   'I',
2065   'X',
2066   0, // glXJoinSwapGroupSGIX
2067   'g',
2068   'l',
2069   'X',
2070   'L',
2071   'o',
2072   'c',
2073   'k',
2074   'V',
2075   'i',
2076   'd',
2077   'e',
2078   'o',
2079   'C',
2080   'a',
2081   'p',
2082   't',
2083   'u',
2084   'r',
2085   'e',
2086   'D',
2087   'e',
2088   'v',
2089   'i',
2090   'c',
2091   'e',
2092   'N',
2093   'V',
2094   0, // glXLockVideoCaptureDeviceNV
2095   'g',
2096   'l',
2097   'X',
2098   'M',
2099   'a',
2100   'k',
2101   'e',
2102   'A',
2103   's',
2104   's',
2105   'o',
2106   'c',
2107   'i',
2108   'a',
2109   't',
2110   'e',
2111   'd',
2112   'C',
2113   'o',
2114   'n',
2115   't',
2116   'e',
2117   'x',
2118   't',
2119   'C',
2120   'u',
2121   'r',
2122   'r',
2123   'e',
2124   'n',
2125   't',
2126   'A',
2127   'M',
2128   'D',
2129   0, // glXMakeAssociatedContextCurrentAMD
2130   'g',
2131   'l',
2132   'X',
2133   'M',
2134   'a',
2135   'k',
2136   'e',
2137   'C',
2138   'o',
2139   'n',
2140   't',
2141   'e',
2142   'x',
2143   't',
2144   'C',
2145   'u',
2146   'r',
2147   'r',
2148   'e',
2149   'n',
2150   't',
2151   0, // glXMakeContextCurrent
2152   'g',
2153   'l',
2154   'X',
2155   'M',
2156   'a',
2157   'k',
2158   'e',
2159   'C',
2160   'u',
2161   'r',
2162   'r',
2163   'e',
2164   'n',
2165   't',
2166   0, // glXMakeCurrent
2167   'g',
2168   'l',
2169   'X',
2170   'M',
2171   'a',
2172   'k',
2173   'e',
2174   'C',
2175   'u',
2176   'r',
2177   'r',
2178   'e',
2179   'n',
2180   't',
2181   'R',
2182   'e',
2183   'a',
2184   'd',
2185   'S',
2186   'G',
2187   'I',
2188   0, // glXMakeCurrentReadSGI
2189   'g',
2190   'l',
2191   'X',
2192   'N',
2193   'a',
2194   'm',
2195   'e',
2196   'd',
2197   'C',
2198   'o',
2199   'p',
2200   'y',
2201   'B',
2202   'u',
2203   'f',
2204   'f',
2205   'e',
2206   'r',
2207   'S',
2208   'u',
2209   'b',
2210   'D',
2211   'a',
2212   't',
2213   'a',
2214   'N',
2215   'V',
2216   0, // glXNamedCopyBufferSubDataNV
2217   'g',
2218   'l',
2219   'X',
2220   'Q',
2221   'u',
2222   'e',
2223   'r',
2224   'y',
2225   'C',
2226   'h',
2227   'a',
2228   'n',
2229   'n',
2230   'e',
2231   'l',
2232   'D',
2233   'e',
2234   'l',
2235   't',
2236   'a',
2237   's',
2238   'S',
2239   'G',
2240   'I',
2241   'X',
2242   0, // glXQueryChannelDeltasSGIX
2243   'g',
2244   'l',
2245   'X',
2246   'Q',
2247   'u',
2248   'e',
2249   'r',
2250   'y',
2251   'C',
2252   'h',
2253   'a',
2254   'n',
2255   'n',
2256   'e',
2257   'l',
2258   'R',
2259   'e',
2260   'c',
2261   't',
2262   'S',
2263   'G',
2264   'I',
2265   'X',
2266   0, // glXQueryChannelRectSGIX
2267   'g',
2268   'l',
2269   'X',
2270   'Q',
2271   'u',
2272   'e',
2273   'r',
2274   'y',
2275   'C',
2276   'o',
2277   'n',
2278   't',
2279   'e',
2280   'x',
2281   't',
2282   0, // glXQueryContext
2283   'g',
2284   'l',
2285   'X',
2286   'Q',
2287   'u',
2288   'e',
2289   'r',
2290   'y',
2291   'C',
2292   'o',
2293   'n',
2294   't',
2295   'e',
2296   'x',
2297   't',
2298   'I',
2299   'n',
2300   'f',
2301   'o',
2302   'E',
2303   'X',
2304   'T',
2305   0, // glXQueryContextInfoEXT
2306   'g',
2307   'l',
2308   'X',
2309   'Q',
2310   'u',
2311   'e',
2312   'r',
2313   'y',
2314   'C',
2315   'u',
2316   'r',
2317   'r',
2318   'e',
2319   'n',
2320   't',
2321   'R',
2322   'e',
2323   'n',
2324   'd',
2325   'e',
2326   'r',
2327   'e',
2328   'r',
2329   'I',
2330   'n',
2331   't',
2332   'e',
2333   'g',
2334   'e',
2335   'r',
2336   'M',
2337   'E',
2338   'S',
2339   'A',
2340   0, // glXQueryCurrentRendererIntegerMESA
2341   'g',
2342   'l',
2343   'X',
2344   'Q',
2345   'u',
2346   'e',
2347   'r',
2348   'y',
2349   'C',
2350   'u',
2351   'r',
2352   'r',
2353   'e',
2354   'n',
2355   't',
2356   'R',
2357   'e',
2358   'n',
2359   'd',
2360   'e',
2361   'r',
2362   'e',
2363   'r',
2364   'S',
2365   't',
2366   'r',
2367   'i',
2368   'n',
2369   'g',
2370   'M',
2371   'E',
2372   'S',
2373   'A',
2374   0, // glXQueryCurrentRendererStringMESA
2375   'g',
2376   'l',
2377   'X',
2378   'Q',
2379   'u',
2380   'e',
2381   'r',
2382   'y',
2383   'D',
2384   'r',
2385   'a',
2386   'w',
2387   'a',
2388   'b',
2389   'l',
2390   'e',
2391   0, // glXQueryDrawable
2392   'g',
2393   'l',
2394   'X',
2395   'Q',
2396   'u',
2397   'e',
2398   'r',
2399   'y',
2400   'E',
2401   'x',
2402   't',
2403   'e',
2404   'n',
2405   's',
2406   'i',
2407   'o',
2408   'n',
2409   0, // glXQueryExtension
2410   'g',
2411   'l',
2412   'X',
2413   'Q',
2414   'u',
2415   'e',
2416   'r',
2417   'y',
2418   'E',
2419   'x',
2420   't',
2421   'e',
2422   'n',
2423   's',
2424   'i',
2425   'o',
2426   'n',
2427   's',
2428   'S',
2429   't',
2430   'r',
2431   'i',
2432   'n',
2433   'g',
2434   0, // glXQueryExtensionsString
2435   'g',
2436   'l',
2437   'X',
2438   'Q',
2439   'u',
2440   'e',
2441   'r',
2442   'y',
2443   'F',
2444   'r',
2445   'a',
2446   'm',
2447   'e',
2448   'C',
2449   'o',
2450   'u',
2451   'n',
2452   't',
2453   'N',
2454   'V',
2455   0, // glXQueryFrameCountNV
2456   'g',
2457   'l',
2458   'X',
2459   'Q',
2460   'u',
2461   'e',
2462   'r',
2463   'y',
2464   'G',
2465   'L',
2466   'X',
2467   'P',
2468   'b',
2469   'u',
2470   'f',
2471   'f',
2472   'e',
2473   'r',
2474   'S',
2475   'G',
2476   'I',
2477   'X',
2478   0, // glXQueryGLXPbufferSGIX
2479   'g',
2480   'l',
2481   'X',
2482   'Q',
2483   'u',
2484   'e',
2485   'r',
2486   'y',
2487   'H',
2488   'y',
2489   'p',
2490   'e',
2491   'r',
2492   'p',
2493   'i',
2494   'p',
2495   'e',
2496   'A',
2497   't',
2498   't',
2499   'r',
2500   'i',
2501   'b',
2502   'S',
2503   'G',
2504   'I',
2505   'X',
2506   0, // glXQueryHyperpipeAttribSGIX
2507   'g',
2508   'l',
2509   'X',
2510   'Q',
2511   'u',
2512   'e',
2513   'r',
2514   'y',
2515   'H',
2516   'y',
2517   'p',
2518   'e',
2519   'r',
2520   'p',
2521   'i',
2522   'p',
2523   'e',
2524   'B',
2525   'e',
2526   's',
2527   't',
2528   'A',
2529   't',
2530   't',
2531   'r',
2532   'i',
2533   'b',
2534   'S',
2535   'G',
2536   'I',
2537   'X',
2538   0, // glXQueryHyperpipeBestAttribSGIX
2539   'g',
2540   'l',
2541   'X',
2542   'Q',
2543   'u',
2544   'e',
2545   'r',
2546   'y',
2547   'H',
2548   'y',
2549   'p',
2550   'e',
2551   'r',
2552   'p',
2553   'i',
2554   'p',
2555   'e',
2556   'C',
2557   'o',
2558   'n',
2559   'f',
2560   'i',
2561   'g',
2562   'S',
2563   'G',
2564   'I',
2565   'X',
2566   0, // glXQueryHyperpipeConfigSGIX
2567   'g',
2568   'l',
2569   'X',
2570   'Q',
2571   'u',
2572   'e',
2573   'r',
2574   'y',
2575   'H',
2576   'y',
2577   'p',
2578   'e',
2579   'r',
2580   'p',
2581   'i',
2582   'p',
2583   'e',
2584   'N',
2585   'e',
2586   't',
2587   'w',
2588   'o',
2589   'r',
2590   'k',
2591   'S',
2592   'G',
2593   'I',
2594   'X',
2595   0, // glXQueryHyperpipeNetworkSGIX
2596   'g',
2597   'l',
2598   'X',
2599   'Q',
2600   'u',
2601   'e',
2602   'r',
2603   'y',
2604   'M',
2605   'a',
2606   'x',
2607   'S',
2608   'w',
2609   'a',
2610   'p',
2611   'B',
2612   'a',
2613   'r',
2614   'r',
2615   'i',
2616   'e',
2617   'r',
2618   's',
2619   'S',
2620   'G',
2621   'I',
2622   'X',
2623   0, // glXQueryMaxSwapBarriersSGIX
2624   'g',
2625   'l',
2626   'X',
2627   'Q',
2628   'u',
2629   'e',
2630   'r',
2631   'y',
2632   'M',
2633   'a',
2634   'x',
2635   'S',
2636   'w',
2637   'a',
2638   'p',
2639   'G',
2640   'r',
2641   'o',
2642   'u',
2643   'p',
2644   's',
2645   'N',
2646   'V',
2647   0, // glXQueryMaxSwapGroupsNV
2648   'g',
2649   'l',
2650   'X',
2651   'Q',
2652   'u',
2653   'e',
2654   'r',
2655   'y',
2656   'R',
2657   'e',
2658   'n',
2659   'd',
2660   'e',
2661   'r',
2662   'e',
2663   'r',
2664   'I',
2665   'n',
2666   't',
2667   'e',
2668   'g',
2669   'e',
2670   'r',
2671   'M',
2672   'E',
2673   'S',
2674   'A',
2675   0, // glXQueryRendererIntegerMESA
2676   'g',
2677   'l',
2678   'X',
2679   'Q',
2680   'u',
2681   'e',
2682   'r',
2683   'y',
2684   'R',
2685   'e',
2686   'n',
2687   'd',
2688   'e',
2689   'r',
2690   'e',
2691   'r',
2692   'S',
2693   't',
2694   'r',
2695   'i',
2696   'n',
2697   'g',
2698   'M',
2699   'E',
2700   'S',
2701   'A',
2702   0, // glXQueryRendererStringMESA
2703   'g',
2704   'l',
2705   'X',
2706   'Q',
2707   'u',
2708   'e',
2709   'r',
2710   'y',
2711   'S',
2712   'e',
2713   'r',
2714   'v',
2715   'e',
2716   'r',
2717   'S',
2718   't',
2719   'r',
2720   'i',
2721   'n',
2722   'g',
2723   0, // glXQueryServerString
2724   'g',
2725   'l',
2726   'X',
2727   'Q',
2728   'u',
2729   'e',
2730   'r',
2731   'y',
2732   'S',
2733   'w',
2734   'a',
2735   'p',
2736   'G',
2737   'r',
2738   'o',
2739   'u',
2740   'p',
2741   'N',
2742   'V',
2743   0, // glXQuerySwapGroupNV
2744   'g',
2745   'l',
2746   'X',
2747   'Q',
2748   'u',
2749   'e',
2750   'r',
2751   'y',
2752   'V',
2753   'e',
2754   'r',
2755   's',
2756   'i',
2757   'o',
2758   'n',
2759   0, // glXQueryVersion
2760   'g',
2761   'l',
2762   'X',
2763   'Q',
2764   'u',
2765   'e',
2766   'r',
2767   'y',
2768   'V',
2769   'i',
2770   'd',
2771   'e',
2772   'o',
2773   'C',
2774   'a',
2775   'p',
2776   't',
2777   'u',
2778   'r',
2779   'e',
2780   'D',
2781   'e',
2782   'v',
2783   'i',
2784   'c',
2785   'e',
2786   'N',
2787   'V',
2788   0, // glXQueryVideoCaptureDeviceNV
2789   'g',
2790   'l',
2791   'X',
2792   'R',
2793   'e',
2794   'l',
2795   'e',
2796   'a',
2797   's',
2798   'e',
2799   'B',
2800   'u',
2801   'f',
2802   'f',
2803   'e',
2804   'r',
2805   's',
2806   'M',
2807   'E',
2808   'S',
2809   'A',
2810   0, // glXReleaseBuffersMESA
2811   'g',
2812   'l',
2813   'X',
2814   'R',
2815   'e',
2816   'l',
2817   'e',
2818   'a',
2819   's',
2820   'e',
2821   'T',
2822   'e',
2823   'x',
2824   'I',
2825   'm',
2826   'a',
2827   'g',
2828   'e',
2829   'E',
2830   'X',
2831   'T',
2832   0, // glXReleaseTexImageEXT
2833   'g',
2834   'l',
2835   'X',
2836   'R',
2837   'e',
2838   'l',
2839   'e',
2840   'a',
2841   's',
2842   'e',
2843   'V',
2844   'i',
2845   'd',
2846   'e',
2847   'o',
2848   'C',
2849   'a',
2850   'p',
2851   't',
2852   'u',
2853   'r',
2854   'e',
2855   'D',
2856   'e',
2857   'v',
2858   'i',
2859   'c',
2860   'e',
2861   'N',
2862   'V',
2863   0, // glXReleaseVideoCaptureDeviceNV
2864   'g',
2865   'l',
2866   'X',
2867   'R',
2868   'e',
2869   'l',
2870   'e',
2871   'a',
2872   's',
2873   'e',
2874   'V',
2875   'i',
2876   'd',
2877   'e',
2878   'o',
2879   'D',
2880   'e',
2881   'v',
2882   'i',
2883   'c',
2884   'e',
2885   'N',
2886   'V',
2887   0, // glXReleaseVideoDeviceNV
2888   'g',
2889   'l',
2890   'X',
2891   'R',
2892   'e',
2893   'l',
2894   'e',
2895   'a',
2896   's',
2897   'e',
2898   'V',
2899   'i',
2900   'd',
2901   'e',
2902   'o',
2903   'I',
2904   'm',
2905   'a',
2906   'g',
2907   'e',
2908   'N',
2909   'V',
2910   0, // glXReleaseVideoImageNV
2911   'g',
2912   'l',
2913   'X',
2914   'R',
2915   'e',
2916   's',
2917   'e',
2918   't',
2919   'F',
2920   'r',
2921   'a',
2922   'm',
2923   'e',
2924   'C',
2925   'o',
2926   'u',
2927   'n',
2928   't',
2929   'N',
2930   'V',
2931   0, // glXResetFrameCountNV
2932   'g',
2933   'l',
2934   'X',
2935   'S',
2936   'e',
2937   'l',
2938   'e',
2939   'c',
2940   't',
2941   'E',
2942   'v',
2943   'e',
2944   'n',
2945   't',
2946   0, // glXSelectEvent
2947   'g',
2948   'l',
2949   'X',
2950   'S',
2951   'e',
2952   'l',
2953   'e',
2954   'c',
2955   't',
2956   'E',
2957   'v',
2958   'e',
2959   'n',
2960   't',
2961   'S',
2962   'G',
2963   'I',
2964   'X',
2965   0, // glXSelectEventSGIX
2966   'g',
2967   'l',
2968   'X',
2969   'S',
2970   'e',
2971   'n',
2972   'd',
2973   'P',
2974   'b',
2975   'u',
2976   'f',
2977   'f',
2978   'e',
2979   'r',
2980   'T',
2981   'o',
2982   'V',
2983   'i',
2984   'd',
2985   'e',
2986   'o',
2987   'N',
2988   'V',
2989   0, // glXSendPbufferToVideoNV
2990   'g',
2991   'l',
2992   'X',
2993   'S',
2994   'e',
2995   't',
2996   '3',
2997   'D',
2998   'f',
2999   'x',
3000   'M',
3001   'o',
3002   'd',
3003   'e',
3004   'M',
3005   'E',
3006   'S',
3007   'A',
3008   0, // glXSet3DfxModeMESA
3009   'g',
3010   'l',
3011   'X',
3012   'S',
3013   'w',
3014   'a',
3015   'p',
3016   'B',
3017   'u',
3018   'f',
3019   'f',
3020   'e',
3021   'r',
3022   's',
3023   0, // glXSwapBuffers
3024   'g',
3025   'l',
3026   'X',
3027   'S',
3028   'w',
3029   'a',
3030   'p',
3031   'B',
3032   'u',
3033   'f',
3034   'f',
3035   'e',
3036   'r',
3037   's',
3038   'M',
3039   's',
3040   'c',
3041   'O',
3042   'M',
3043   'L',
3044   0, // glXSwapBuffersMscOML
3045   'g',
3046   'l',
3047   'X',
3048   'S',
3049   'w',
3050   'a',
3051   'p',
3052   'I',
3053   'n',
3054   't',
3055   'e',
3056   'r',
3057   'v',
3058   'a',
3059   'l',
3060   'E',
3061   'X',
3062   'T',
3063   0, // glXSwapIntervalEXT
3064   'g',
3065   'l',
3066   'X',
3067   'S',
3068   'w',
3069   'a',
3070   'p',
3071   'I',
3072   'n',
3073   't',
3074   'e',
3075   'r',
3076   'v',
3077   'a',
3078   'l',
3079   'S',
3080   'G',
3081   'I',
3082   0, // glXSwapIntervalSGI
3083   'g',
3084   'l',
3085   'X',
3086   'U',
3087   's',
3088   'e',
3089   'X',
3090   'F',
3091   'o',
3092   'n',
3093   't',
3094   0, // glXUseXFont
3095   'g',
3096   'l',
3097   'X',
3098   'W',
3099   'a',
3100   'i',
3101   't',
3102   'F',
3103   'o',
3104   'r',
3105   'M',
3106   's',
3107   'c',
3108   'O',
3109   'M',
3110   'L',
3111   0, // glXWaitForMscOML
3112   'g',
3113   'l',
3114   'X',
3115   'W',
3116   'a',
3117   'i',
3118   't',
3119   'F',
3120   'o',
3121   'r',
3122   'S',
3123   'b',
3124   'c',
3125   'O',
3126   'M',
3127   'L',
3128   0, // glXWaitForSbcOML
3129   'g',
3130   'l',
3131   'X',
3132   'W',
3133   'a',
3134   'i',
3135   't',
3136   'G',
3137   'L',
3138   0, // glXWaitGL
3139   'g',
3140   'l',
3141   'X',
3142   'W',
3143   'a',
3144   'i',
3145   't',
3146   'V',
3147   'i',
3148   'd',
3149   'e',
3150   'o',
3151   'S',
3152   'y',
3153   'n',
3154   'c',
3155   'S',
3156   'G',
3157   'I',
3158   0, // glXWaitVideoSyncSGI
3159   'g',
3160   'l',
3161   'X',
3162   'W',
3163   'a',
3164   'i',
3165   't',
3166   'X',
3167   0, // glXWaitX
3168    0 };
3169
3170static void *glx_provider_resolver(const char *name,
3171                                   const enum glx_provider *providers,
3172                                   const uint32_t *entrypoints)
3173{
3174    int i;
3175    for (i = 0; providers[i] != glx_provider_terminator; i++) {
3176        switch (providers[i]) {
3177        case GLX_10:
3178            if (true)
3179                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
3180            break;
3181        case GLX_11:
3182            if (true)
3183                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
3184            break;
3185        case GLX_12:
3186            if (true)
3187                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
3188            break;
3189        case GLX_13:
3190            if (true)
3191                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
3192            break;
3193        case GLX_extension_GLX_AMD_gpu_association:
3194            if (epoxy_conservative_has_glx_extension("GLX_AMD_gpu_association"))
3195                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3196            break;
3197        case GLX_extension_GLX_ARB_create_context:
3198            if (epoxy_conservative_has_glx_extension("GLX_ARB_create_context"))
3199                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3200            break;
3201        case GLX_extension_GLX_ARB_get_proc_address:
3202            if (epoxy_conservative_has_glx_extension("GLX_ARB_get_proc_address"))
3203                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3204            break;
3205        case GLX_extension_GLX_EXT_import_context:
3206            if (epoxy_conservative_has_glx_extension("GLX_EXT_import_context"))
3207                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3208            break;
3209        case GLX_extension_GLX_EXT_swap_control:
3210            if (epoxy_conservative_has_glx_extension("GLX_EXT_swap_control"))
3211                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3212            break;
3213        case GLX_extension_GLX_EXT_texture_from_pixmap:
3214            if (epoxy_conservative_has_glx_extension("GLX_EXT_texture_from_pixmap"))
3215                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3216            break;
3217        case GLX_extension_GLX_MESA_agp_offset:
3218            if (epoxy_conservative_has_glx_extension("GLX_MESA_agp_offset"))
3219                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3220            break;
3221        case GLX_extension_GLX_MESA_copy_sub_buffer:
3222            if (epoxy_conservative_has_glx_extension("GLX_MESA_copy_sub_buffer"))
3223                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3224            break;
3225        case GLX_extension_GLX_MESA_pixmap_colormap:
3226            if (epoxy_conservative_has_glx_extension("GLX_MESA_pixmap_colormap"))
3227                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3228            break;
3229        case GLX_extension_GLX_MESA_query_renderer:
3230            if (epoxy_conservative_has_glx_extension("GLX_MESA_query_renderer"))
3231                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3232            break;
3233        case GLX_extension_GLX_MESA_release_buffers:
3234            if (epoxy_conservative_has_glx_extension("GLX_MESA_release_buffers"))
3235                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3236            break;
3237        case GLX_extension_GLX_MESA_set_3dfx_mode:
3238            if (epoxy_conservative_has_glx_extension("GLX_MESA_set_3dfx_mode"))
3239                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3240            break;
3241        case GLX_extension_GLX_NV_copy_buffer:
3242            if (epoxy_conservative_has_glx_extension("GLX_NV_copy_buffer"))
3243                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3244            break;
3245        case GLX_extension_GLX_NV_copy_image:
3246            if (epoxy_conservative_has_glx_extension("GLX_NV_copy_image"))
3247                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3248            break;
3249        case GLX_extension_GLX_NV_delay_before_swap:
3250            if (epoxy_conservative_has_glx_extension("GLX_NV_delay_before_swap"))
3251                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3252            break;
3253        case GLX_extension_GLX_NV_present_video:
3254            if (epoxy_conservative_has_glx_extension("GLX_NV_present_video"))
3255                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3256            break;
3257        case GLX_extension_GLX_NV_swap_group:
3258            if (epoxy_conservative_has_glx_extension("GLX_NV_swap_group"))
3259                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3260            break;
3261        case GLX_extension_GLX_NV_video_capture:
3262            if (epoxy_conservative_has_glx_extension("GLX_NV_video_capture"))
3263                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3264            break;
3265        case GLX_extension_GLX_NV_video_out:
3266            if (epoxy_conservative_has_glx_extension("GLX_NV_video_out"))
3267                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3268            break;
3269        case GLX_extension_GLX_OML_sync_control:
3270            if (epoxy_conservative_has_glx_extension("GLX_OML_sync_control"))
3271                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3272            break;
3273        case GLX_extension_GLX_SGIX_fbconfig:
3274            if (epoxy_conservative_has_glx_extension("GLX_SGIX_fbconfig"))
3275                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3276            break;
3277        case GLX_extension_GLX_SGIX_hyperpipe:
3278            if (epoxy_conservative_has_glx_extension("GLX_SGIX_hyperpipe"))
3279                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3280            break;
3281        case GLX_extension_GLX_SGIX_pbuffer:
3282            if (epoxy_conservative_has_glx_extension("GLX_SGIX_pbuffer"))
3283                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3284            break;
3285        case GLX_extension_GLX_SGIX_swap_barrier:
3286            if (epoxy_conservative_has_glx_extension("GLX_SGIX_swap_barrier"))
3287                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3288            break;
3289        case GLX_extension_GLX_SGIX_swap_group:
3290            if (epoxy_conservative_has_glx_extension("GLX_SGIX_swap_group"))
3291                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3292            break;
3293        case GLX_extension_GLX_SGIX_video_resize:
3294            if (epoxy_conservative_has_glx_extension("GLX_SGIX_video_resize"))
3295                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3296            break;
3297        case GLX_extension_GLX_SGIX_video_source:
3298            if (epoxy_conservative_has_glx_extension("GLX_SGIX_video_source"))
3299                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3300            break;
3301        case GLX_extension_GLX_SGI_cushion:
3302            if (epoxy_conservative_has_glx_extension("GLX_SGI_cushion"))
3303                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3304            break;
3305        case GLX_extension_GLX_SGI_make_current_read:
3306            if (epoxy_conservative_has_glx_extension("GLX_SGI_make_current_read"))
3307                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3308            break;
3309        case GLX_extension_GLX_SGI_swap_control:
3310            if (epoxy_conservative_has_glx_extension("GLX_SGI_swap_control"))
3311                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3312            break;
3313        case GLX_extension_GLX_SGI_video_sync:
3314            if (epoxy_conservative_has_glx_extension("GLX_SGI_video_sync"))
3315                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3316            break;
3317        case GLX_extension_GLX_SUN_get_transparent_index:
3318            if (epoxy_conservative_has_glx_extension("GLX_SUN_get_transparent_index"))
3319                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
3320            break;
3321        case always_present:
3322            if (true)
3323                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
3324            break;
3325        case glx_provider_terminator:
3326            abort(); /* Not reached */
3327        }
3328    }
3329
3330    fprintf(stderr, "No provider of %s found.  Requires one of:\n", name);
3331    for (i = 0; providers[i] != glx_provider_terminator; i++) {
3332        fprintf(stderr, "    %s\n", enum_string + enum_string_offsets[providers[i]]);
3333    }
3334    if (providers[0] == glx_provider_terminator) {
3335        fprintf(stderr, "    No known providers.  This is likely a bug "
3336                        "in libepoxy code generation\n");
3337    }
3338    abort();
3339}
3340
3341EPOXY_NOINLINE static void *
3342glx_single_resolver(enum glx_provider provider, uint32_t entrypoint_offset);
3343
3344static void *
3345glx_single_resolver(enum glx_provider provider, uint32_t entrypoint_offset)
3346{
3347    enum glx_provider providers[] = {
3348        provider,
3349        glx_provider_terminator
3350    };
3351    return glx_provider_resolver(entrypoint_strings + entrypoint_offset,
3352                                providers, &entrypoint_offset);
3353}
3354
3355static PFNGLXBINDCHANNELTOWINDOWSGIXPROC
3356epoxy_glXBindChannelToWindowSGIX_resolver(void)
3357{
3358    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 0 /* glXBindChannelToWindowSGIX */);
3359}
3360
3361static PFNGLXBINDHYPERPIPESGIXPROC
3362epoxy_glXBindHyperpipeSGIX_resolver(void)
3363{
3364    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 27 /* glXBindHyperpipeSGIX */);
3365}
3366
3367static PFNGLXBINDSWAPBARRIERNVPROC
3368epoxy_glXBindSwapBarrierNV_resolver(void)
3369{
3370    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 48 /* glXBindSwapBarrierNV */);
3371}
3372
3373static PFNGLXBINDSWAPBARRIERSGIXPROC
3374epoxy_glXBindSwapBarrierSGIX_resolver(void)
3375{
3376    return glx_single_resolver(GLX_extension_GLX_SGIX_swap_barrier, 69 /* glXBindSwapBarrierSGIX */);
3377}
3378
3379static PFNGLXBINDTEXIMAGEEXTPROC
3380epoxy_glXBindTexImageEXT_resolver(void)
3381{
3382    return glx_single_resolver(GLX_extension_GLX_EXT_texture_from_pixmap, 92 /* glXBindTexImageEXT */);
3383}
3384
3385static PFNGLXBINDVIDEOCAPTUREDEVICENVPROC
3386epoxy_glXBindVideoCaptureDeviceNV_resolver(void)
3387{
3388    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 111 /* glXBindVideoCaptureDeviceNV */);
3389}
3390
3391static PFNGLXBINDVIDEODEVICENVPROC
3392epoxy_glXBindVideoDeviceNV_resolver(void)
3393{
3394    return glx_single_resolver(GLX_extension_GLX_NV_present_video, 139 /* glXBindVideoDeviceNV */);
3395}
3396
3397static PFNGLXBINDVIDEOIMAGENVPROC
3398epoxy_glXBindVideoImageNV_resolver(void)
3399{
3400    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 160 /* glXBindVideoImageNV */);
3401}
3402
3403static PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC
3404epoxy_glXBlitContextFramebufferAMD_resolver(void)
3405{
3406    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 180 /* glXBlitContextFramebufferAMD */);
3407}
3408
3409static PFNGLXCHANNELRECTSGIXPROC
3410epoxy_glXChannelRectSGIX_resolver(void)
3411{
3412    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 209 /* glXChannelRectSGIX */);
3413}
3414
3415static PFNGLXCHANNELRECTSYNCSGIXPROC
3416epoxy_glXChannelRectSyncSGIX_resolver(void)
3417{
3418    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 228 /* glXChannelRectSyncSGIX */);
3419}
3420
3421static PFNGLXCHOOSEFBCONFIGPROC
3422epoxy_glXChooseFBConfig_resolver(void)
3423{
3424    return glx_single_resolver(GLX_13, 251 /* glXChooseFBConfig */);
3425}
3426
3427static PFNGLXCHOOSEFBCONFIGSGIXPROC
3428epoxy_glXChooseFBConfigSGIX_resolver(void)
3429{
3430    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 269 /* glXChooseFBConfigSGIX */);
3431}
3432
3433static PFNGLXCHOOSEVISUALPROC
3434epoxy_glXChooseVisual_resolver(void)
3435{
3436    return glx_single_resolver(GLX_10, 291 /* glXChooseVisual */);
3437}
3438
3439static PFNGLXCOPYBUFFERSUBDATANVPROC
3440epoxy_glXCopyBufferSubDataNV_resolver(void)
3441{
3442    return glx_single_resolver(GLX_extension_GLX_NV_copy_buffer, 307 /* glXCopyBufferSubDataNV */);
3443}
3444
3445static PFNGLXCOPYCONTEXTPROC
3446epoxy_glXCopyContext_resolver(void)
3447{
3448    return glx_single_resolver(GLX_10, 330 /* glXCopyContext */);
3449}
3450
3451static PFNGLXCOPYIMAGESUBDATANVPROC
3452epoxy_glXCopyImageSubDataNV_resolver(void)
3453{
3454    return glx_single_resolver(GLX_extension_GLX_NV_copy_image, 345 /* glXCopyImageSubDataNV */);
3455}
3456
3457static PFNGLXCOPYSUBBUFFERMESAPROC
3458epoxy_glXCopySubBufferMESA_resolver(void)
3459{
3460    return glx_single_resolver(GLX_extension_GLX_MESA_copy_sub_buffer, 367 /* glXCopySubBufferMESA */);
3461}
3462
3463static PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC
3464epoxy_glXCreateAssociatedContextAMD_resolver(void)
3465{
3466    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 388 /* glXCreateAssociatedContextAMD */);
3467}
3468
3469static PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC
3470epoxy_glXCreateAssociatedContextAttribsAMD_resolver(void)
3471{
3472    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 418 /* glXCreateAssociatedContextAttribsAMD */);
3473}
3474
3475static PFNGLXCREATECONTEXTPROC
3476epoxy_glXCreateContext_resolver(void)
3477{
3478    return glx_single_resolver(GLX_10, 455 /* glXCreateContext */);
3479}
3480
3481static PFNGLXCREATECONTEXTATTRIBSARBPROC
3482epoxy_glXCreateContextAttribsARB_resolver(void)
3483{
3484    return glx_single_resolver(GLX_extension_GLX_ARB_create_context, 472 /* glXCreateContextAttribsARB */);
3485}
3486
3487static PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC
3488epoxy_glXCreateContextWithConfigSGIX_resolver(void)
3489{
3490    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 499 /* glXCreateContextWithConfigSGIX */);
3491}
3492
3493static PFNGLXCREATEGLXPBUFFERSGIXPROC
3494epoxy_glXCreateGLXPbufferSGIX_resolver(void)
3495{
3496    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 530 /* glXCreateGLXPbufferSGIX */);
3497}
3498
3499static PFNGLXCREATEGLXPIXMAPPROC
3500epoxy_glXCreateGLXPixmap_resolver(void)
3501{
3502    return glx_single_resolver(GLX_10, 554 /* glXCreateGLXPixmap */);
3503}
3504
3505static PFNGLXCREATEGLXPIXMAPMESAPROC
3506epoxy_glXCreateGLXPixmapMESA_resolver(void)
3507{
3508    return glx_single_resolver(GLX_extension_GLX_MESA_pixmap_colormap, 573 /* glXCreateGLXPixmapMESA */);
3509}
3510
3511static PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC
3512epoxy_glXCreateGLXPixmapWithConfigSGIX_resolver(void)
3513{
3514    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 596 /* glXCreateGLXPixmapWithConfigSGIX */);
3515}
3516
3517static PFNGLXCREATENEWCONTEXTPROC
3518epoxy_glXCreateNewContext_resolver(void)
3519{
3520    return glx_single_resolver(GLX_13, 629 /* glXCreateNewContext */);
3521}
3522
3523static PFNGLXCREATEPBUFFERPROC
3524epoxy_glXCreatePbuffer_resolver(void)
3525{
3526    return glx_single_resolver(GLX_13, 649 /* glXCreatePbuffer */);
3527}
3528
3529static PFNGLXCREATEPIXMAPPROC
3530epoxy_glXCreatePixmap_resolver(void)
3531{
3532    return glx_single_resolver(GLX_13, 666 /* glXCreatePixmap */);
3533}
3534
3535static PFNGLXCREATEWINDOWPROC
3536epoxy_glXCreateWindow_resolver(void)
3537{
3538    return glx_single_resolver(GLX_13, 682 /* glXCreateWindow */);
3539}
3540
3541static PFNGLXCUSHIONSGIPROC
3542epoxy_glXCushionSGI_resolver(void)
3543{
3544    return glx_single_resolver(GLX_extension_GLX_SGI_cushion, 698 /* glXCushionSGI */);
3545}
3546
3547static PFNGLXDELAYBEFORESWAPNVPROC
3548epoxy_glXDelayBeforeSwapNV_resolver(void)
3549{
3550    return glx_single_resolver(GLX_extension_GLX_NV_delay_before_swap, 712 /* glXDelayBeforeSwapNV */);
3551}
3552
3553static PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC
3554epoxy_glXDeleteAssociatedContextAMD_resolver(void)
3555{
3556    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 733 /* glXDeleteAssociatedContextAMD */);
3557}
3558
3559static PFNGLXDESTROYCONTEXTPROC
3560epoxy_glXDestroyContext_resolver(void)
3561{
3562    return glx_single_resolver(GLX_10, 763 /* glXDestroyContext */);
3563}
3564
3565static PFNGLXDESTROYGLXPBUFFERSGIXPROC
3566epoxy_glXDestroyGLXPbufferSGIX_resolver(void)
3567{
3568    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 781 /* glXDestroyGLXPbufferSGIX */);
3569}
3570
3571static PFNGLXDESTROYGLXPIXMAPPROC
3572epoxy_glXDestroyGLXPixmap_resolver(void)
3573{
3574    return glx_single_resolver(GLX_10, 806 /* glXDestroyGLXPixmap */);
3575}
3576
3577static PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC
3578epoxy_glXDestroyGLXVideoSourceSGIX_resolver(void)
3579{
3580    return glx_single_resolver(GLX_extension_GLX_SGIX_video_source, 826 /* glXDestroyGLXVideoSourceSGIX */);
3581}
3582
3583static PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC
3584epoxy_glXDestroyHyperpipeConfigSGIX_resolver(void)
3585{
3586    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 855 /* glXDestroyHyperpipeConfigSGIX */);
3587}
3588
3589static PFNGLXDESTROYPBUFFERPROC
3590epoxy_glXDestroyPbuffer_resolver(void)
3591{
3592    return glx_single_resolver(GLX_13, 885 /* glXDestroyPbuffer */);
3593}
3594
3595static PFNGLXDESTROYPIXMAPPROC
3596epoxy_glXDestroyPixmap_resolver(void)
3597{
3598    return glx_single_resolver(GLX_13, 903 /* glXDestroyPixmap */);
3599}
3600
3601static PFNGLXDESTROYWINDOWPROC
3602epoxy_glXDestroyWindow_resolver(void)
3603{
3604    return glx_single_resolver(GLX_13, 920 /* glXDestroyWindow */);
3605}
3606
3607static PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC
3608epoxy_glXEnumerateVideoCaptureDevicesNV_resolver(void)
3609{
3610    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 937 /* glXEnumerateVideoCaptureDevicesNV */);
3611}
3612
3613static PFNGLXENUMERATEVIDEODEVICESNVPROC
3614epoxy_glXEnumerateVideoDevicesNV_resolver(void)
3615{
3616    return glx_single_resolver(GLX_extension_GLX_NV_present_video, 971 /* glXEnumerateVideoDevicesNV */);
3617}
3618
3619static PFNGLXFREECONTEXTEXTPROC
3620epoxy_glXFreeContextEXT_resolver(void)
3621{
3622    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 998 /* glXFreeContextEXT */);
3623}
3624
3625static PFNGLXGETAGPOFFSETMESAPROC
3626epoxy_glXGetAGPOffsetMESA_resolver(void)
3627{
3628    return glx_single_resolver(GLX_extension_GLX_MESA_agp_offset, 1016 /* glXGetAGPOffsetMESA */);
3629}
3630
3631static PFNGLXGETCLIENTSTRINGPROC
3632epoxy_glXGetClientString_resolver(void)
3633{
3634    return glx_single_resolver(GLX_11, 1036 /* glXGetClientString */);
3635}
3636
3637static PFNGLXGETCONFIGPROC
3638epoxy_glXGetConfig_resolver(void)
3639{
3640    return glx_single_resolver(GLX_10, 1055 /* glXGetConfig */);
3641}
3642
3643static PFNGLXGETCONTEXTGPUIDAMDPROC
3644epoxy_glXGetContextGPUIDAMD_resolver(void)
3645{
3646    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1068 /* glXGetContextGPUIDAMD */);
3647}
3648
3649static PFNGLXGETCONTEXTIDEXTPROC
3650epoxy_glXGetContextIDEXT_resolver(void)
3651{
3652    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 1090 /* glXGetContextIDEXT */);
3653}
3654
3655static PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC
3656epoxy_glXGetCurrentAssociatedContextAMD_resolver(void)
3657{
3658    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1109 /* glXGetCurrentAssociatedContextAMD */);
3659}
3660
3661static PFNGLXGETCURRENTCONTEXTPROC
3662epoxy_glXGetCurrentContext_resolver(void)
3663{
3664    return glx_single_resolver(GLX_10, 1143 /* glXGetCurrentContext */);
3665}
3666
3667static PFNGLXGETCURRENTDISPLAYPROC
3668epoxy_glXGetCurrentDisplay_resolver(void)
3669{
3670    return glx_single_resolver(GLX_12, 1164 /* glXGetCurrentDisplay */);
3671}
3672
3673static PFNGLXGETCURRENTDISPLAYEXTPROC
3674epoxy_glXGetCurrentDisplayEXT_resolver(void)
3675{
3676    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 1185 /* glXGetCurrentDisplayEXT */);
3677}
3678
3679static PFNGLXGETCURRENTDRAWABLEPROC
3680epoxy_glXGetCurrentDrawable_resolver(void)
3681{
3682    return glx_single_resolver(GLX_10, 1209 /* glXGetCurrentDrawable */);
3683}
3684
3685static PFNGLXGETCURRENTREADDRAWABLEPROC
3686epoxy_glXGetCurrentReadDrawable_resolver(void)
3687{
3688    return glx_single_resolver(GLX_13, 1231 /* glXGetCurrentReadDrawable */);
3689}
3690
3691static PFNGLXGETCURRENTREADDRAWABLESGIPROC
3692epoxy_glXGetCurrentReadDrawableSGI_resolver(void)
3693{
3694    return glx_single_resolver(GLX_extension_GLX_SGI_make_current_read, 1257 /* glXGetCurrentReadDrawableSGI */);
3695}
3696
3697static PFNGLXGETFBCONFIGATTRIBPROC
3698epoxy_glXGetFBConfigAttrib_resolver(void)
3699{
3700    return glx_single_resolver(GLX_13, 1286 /* glXGetFBConfigAttrib */);
3701}
3702
3703static PFNGLXGETFBCONFIGATTRIBSGIXPROC
3704epoxy_glXGetFBConfigAttribSGIX_resolver(void)
3705{
3706    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 1307 /* glXGetFBConfigAttribSGIX */);
3707}
3708
3709static PFNGLXGETFBCONFIGFROMVISUALSGIXPROC
3710epoxy_glXGetFBConfigFromVisualSGIX_resolver(void)
3711{
3712    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 1332 /* glXGetFBConfigFromVisualSGIX */);
3713}
3714
3715static PFNGLXGETFBCONFIGSPROC
3716epoxy_glXGetFBConfigs_resolver(void)
3717{
3718    return glx_single_resolver(GLX_13, 1361 /* glXGetFBConfigs */);
3719}
3720
3721static PFNGLXGETGPUIDSAMDPROC
3722epoxy_glXGetGPUIDsAMD_resolver(void)
3723{
3724    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1377 /* glXGetGPUIDsAMD */);
3725}
3726
3727static PFNGLXGETGPUINFOAMDPROC
3728epoxy_glXGetGPUInfoAMD_resolver(void)
3729{
3730    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1393 /* glXGetGPUInfoAMD */);
3731}
3732
3733static PFNGLXGETMSCRATEOMLPROC
3734epoxy_glXGetMscRateOML_resolver(void)
3735{
3736    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 1410 /* glXGetMscRateOML */);
3737}
3738
3739static PFNGLXGETPROCADDRESSPROC
3740epoxy_glXGetProcAddress_resolver(void)
3741{
3742    return glx_single_resolver(always_present, 1427 /* glXGetProcAddress */);
3743}
3744
3745static PFNGLXGETPROCADDRESSARBPROC
3746epoxy_glXGetProcAddressARB_resolver(void)
3747{
3748    return glx_single_resolver(GLX_extension_GLX_ARB_get_proc_address, 1445 /* glXGetProcAddressARB */);
3749}
3750
3751static PFNGLXGETSELECTEDEVENTPROC
3752epoxy_glXGetSelectedEvent_resolver(void)
3753{
3754    return glx_single_resolver(GLX_13, 1466 /* glXGetSelectedEvent */);
3755}
3756
3757static PFNGLXGETSELECTEDEVENTSGIXPROC
3758epoxy_glXGetSelectedEventSGIX_resolver(void)
3759{
3760    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 1486 /* glXGetSelectedEventSGIX */);
3761}
3762
3763static PFNGLXGETSYNCVALUESOMLPROC
3764epoxy_glXGetSyncValuesOML_resolver(void)
3765{
3766    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 1510 /* glXGetSyncValuesOML */);
3767}
3768
3769static PFNGLXGETTRANSPARENTINDEXSUNPROC
3770epoxy_glXGetTransparentIndexSUN_resolver(void)
3771{
3772    return glx_single_resolver(GLX_extension_GLX_SUN_get_transparent_index, 1530 /* glXGetTransparentIndexSUN */);
3773}
3774
3775static PFNGLXGETVIDEODEVICENVPROC
3776epoxy_glXGetVideoDeviceNV_resolver(void)
3777{
3778    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 1556 /* glXGetVideoDeviceNV */);
3779}
3780
3781static PFNGLXGETVIDEOINFONVPROC
3782epoxy_glXGetVideoInfoNV_resolver(void)
3783{
3784    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 1576 /* glXGetVideoInfoNV */);
3785}
3786
3787static PFNGLXGETVIDEOSYNCSGIPROC
3788epoxy_glXGetVideoSyncSGI_resolver(void)
3789{
3790    return glx_single_resolver(GLX_extension_GLX_SGI_video_sync, 1594 /* glXGetVideoSyncSGI */);
3791}
3792
3793static PFNGLXGETVISUALFROMFBCONFIGPROC
3794epoxy_glXGetVisualFromFBConfig_resolver(void)
3795{
3796    return glx_single_resolver(GLX_13, 1613 /* glXGetVisualFromFBConfig */);
3797}
3798
3799static PFNGLXGETVISUALFROMFBCONFIGSGIXPROC
3800epoxy_glXGetVisualFromFBConfigSGIX_resolver(void)
3801{
3802    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 1638 /* glXGetVisualFromFBConfigSGIX */);
3803}
3804
3805static PFNGLXHYPERPIPEATTRIBSGIXPROC
3806epoxy_glXHyperpipeAttribSGIX_resolver(void)
3807{
3808    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 1667 /* glXHyperpipeAttribSGIX */);
3809}
3810
3811static PFNGLXHYPERPIPECONFIGSGIXPROC
3812epoxy_glXHyperpipeConfigSGIX_resolver(void)
3813{
3814    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 1690 /* glXHyperpipeConfigSGIX */);
3815}
3816
3817static PFNGLXIMPORTCONTEXTEXTPROC
3818epoxy_glXImportContextEXT_resolver(void)
3819{
3820    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 1713 /* glXImportContextEXT */);
3821}
3822
3823static PFNGLXISDIRECTPROC
3824epoxy_glXIsDirect_resolver(void)
3825{
3826    return glx_single_resolver(GLX_10, 1733 /* glXIsDirect */);
3827}
3828
3829static PFNGLXJOINSWAPGROUPNVPROC
3830epoxy_glXJoinSwapGroupNV_resolver(void)
3831{
3832    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 1745 /* glXJoinSwapGroupNV */);
3833}
3834
3835static PFNGLXJOINSWAPGROUPSGIXPROC
3836epoxy_glXJoinSwapGroupSGIX_resolver(void)
3837{
3838    return glx_single_resolver(GLX_extension_GLX_SGIX_swap_group, 1764 /* glXJoinSwapGroupSGIX */);
3839}
3840
3841static PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC
3842epoxy_glXLockVideoCaptureDeviceNV_resolver(void)
3843{
3844    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 1785 /* glXLockVideoCaptureDeviceNV */);
3845}
3846
3847static PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC
3848epoxy_glXMakeAssociatedContextCurrentAMD_resolver(void)
3849{
3850    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1813 /* glXMakeAssociatedContextCurrentAMD */);
3851}
3852
3853static PFNGLXMAKECONTEXTCURRENTPROC
3854epoxy_glXMakeContextCurrent_resolver(void)
3855{
3856    return glx_single_resolver(GLX_13, 1848 /* glXMakeContextCurrent */);
3857}
3858
3859static PFNGLXMAKECURRENTPROC
3860epoxy_glXMakeCurrent_resolver(void)
3861{
3862    return glx_single_resolver(GLX_10, 1870 /* glXMakeCurrent */);
3863}
3864
3865static PFNGLXMAKECURRENTREADSGIPROC
3866epoxy_glXMakeCurrentReadSGI_resolver(void)
3867{
3868    return glx_single_resolver(GLX_extension_GLX_SGI_make_current_read, 1885 /* glXMakeCurrentReadSGI */);
3869}
3870
3871static PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC
3872epoxy_glXNamedCopyBufferSubDataNV_resolver(void)
3873{
3874    return glx_single_resolver(GLX_extension_GLX_NV_copy_buffer, 1907 /* glXNamedCopyBufferSubDataNV */);
3875}
3876
3877static PFNGLXQUERYCHANNELDELTASSGIXPROC
3878epoxy_glXQueryChannelDeltasSGIX_resolver(void)
3879{
3880    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 1935 /* glXQueryChannelDeltasSGIX */);
3881}
3882
3883static PFNGLXQUERYCHANNELRECTSGIXPROC
3884epoxy_glXQueryChannelRectSGIX_resolver(void)
3885{
3886    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 1961 /* glXQueryChannelRectSGIX */);
3887}
3888
3889static PFNGLXQUERYCONTEXTPROC
3890epoxy_glXQueryContext_resolver(void)
3891{
3892    return glx_single_resolver(GLX_13, 1985 /* glXQueryContext */);
3893}
3894
3895static PFNGLXQUERYCONTEXTINFOEXTPROC
3896epoxy_glXQueryContextInfoEXT_resolver(void)
3897{
3898    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 2001 /* glXQueryContextInfoEXT */);
3899}
3900
3901static PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC
3902epoxy_glXQueryCurrentRendererIntegerMESA_resolver(void)
3903{
3904    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2024 /* glXQueryCurrentRendererIntegerMESA */);
3905}
3906
3907static PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC
3908epoxy_glXQueryCurrentRendererStringMESA_resolver(void)
3909{
3910    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2059 /* glXQueryCurrentRendererStringMESA */);
3911}
3912
3913static PFNGLXQUERYDRAWABLEPROC
3914epoxy_glXQueryDrawable_resolver(void)
3915{
3916    return glx_single_resolver(GLX_13, 2093 /* glXQueryDrawable */);
3917}
3918
3919static PFNGLXQUERYEXTENSIONPROC
3920epoxy_glXQueryExtension_resolver(void)
3921{
3922    return glx_single_resolver(GLX_10, 2110 /* glXQueryExtension */);
3923}
3924
3925static PFNGLXQUERYEXTENSIONSSTRINGPROC
3926epoxy_glXQueryExtensionsString_resolver(void)
3927{
3928    return glx_single_resolver(GLX_11, 2128 /* glXQueryExtensionsString */);
3929}
3930
3931static PFNGLXQUERYFRAMECOUNTNVPROC
3932epoxy_glXQueryFrameCountNV_resolver(void)
3933{
3934    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2153 /* glXQueryFrameCountNV */);
3935}
3936
3937static PFNGLXQUERYGLXPBUFFERSGIXPROC
3938epoxy_glXQueryGLXPbufferSGIX_resolver(void)
3939{
3940    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 2174 /* glXQueryGLXPbufferSGIX */);
3941}
3942
3943static PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC
3944epoxy_glXQueryHyperpipeAttribSGIX_resolver(void)
3945{
3946    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2197 /* glXQueryHyperpipeAttribSGIX */);
3947}
3948
3949static PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC
3950epoxy_glXQueryHyperpipeBestAttribSGIX_resolver(void)
3951{
3952    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2225 /* glXQueryHyperpipeBestAttribSGIX */);
3953}
3954
3955static PFNGLXQUERYHYPERPIPECONFIGSGIXPROC
3956epoxy_glXQueryHyperpipeConfigSGIX_resolver(void)
3957{
3958    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2257 /* glXQueryHyperpipeConfigSGIX */);
3959}
3960
3961static PFNGLXQUERYHYPERPIPENETWORKSGIXPROC
3962epoxy_glXQueryHyperpipeNetworkSGIX_resolver(void)
3963{
3964    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2285 /* glXQueryHyperpipeNetworkSGIX */);
3965}
3966
3967static PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC
3968epoxy_glXQueryMaxSwapBarriersSGIX_resolver(void)
3969{
3970    return glx_single_resolver(GLX_extension_GLX_SGIX_swap_barrier, 2314 /* glXQueryMaxSwapBarriersSGIX */);
3971}
3972
3973static PFNGLXQUERYMAXSWAPGROUPSNVPROC
3974epoxy_glXQueryMaxSwapGroupsNV_resolver(void)
3975{
3976    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2342 /* glXQueryMaxSwapGroupsNV */);
3977}
3978
3979static PFNGLXQUERYRENDERERINTEGERMESAPROC
3980epoxy_glXQueryRendererIntegerMESA_resolver(void)
3981{
3982    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2366 /* glXQueryRendererIntegerMESA */);
3983}
3984
3985static PFNGLXQUERYRENDERERSTRINGMESAPROC
3986epoxy_glXQueryRendererStringMESA_resolver(void)
3987{
3988    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2394 /* glXQueryRendererStringMESA */);
3989}
3990
3991static PFNGLXQUERYSERVERSTRINGPROC
3992epoxy_glXQueryServerString_resolver(void)
3993{
3994    return glx_single_resolver(GLX_11, 2421 /* glXQueryServerString */);
3995}
3996
3997static PFNGLXQUERYSWAPGROUPNVPROC
3998epoxy_glXQuerySwapGroupNV_resolver(void)
3999{
4000    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2442 /* glXQuerySwapGroupNV */);
4001}
4002
4003static PFNGLXQUERYVERSIONPROC
4004epoxy_glXQueryVersion_resolver(void)
4005{
4006    return glx_single_resolver(GLX_10, 2462 /* glXQueryVersion */);
4007}
4008
4009static PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC
4010epoxy_glXQueryVideoCaptureDeviceNV_resolver(void)
4011{
4012    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 2478 /* glXQueryVideoCaptureDeviceNV */);
4013}
4014
4015static PFNGLXRELEASEBUFFERSMESAPROC
4016epoxy_glXReleaseBuffersMESA_resolver(void)
4017{
4018    return glx_single_resolver(GLX_extension_GLX_MESA_release_buffers, 2507 /* glXReleaseBuffersMESA */);
4019}
4020
4021static PFNGLXRELEASETEXIMAGEEXTPROC
4022epoxy_glXReleaseTexImageEXT_resolver(void)
4023{
4024    return glx_single_resolver(GLX_extension_GLX_EXT_texture_from_pixmap, 2529 /* glXReleaseTexImageEXT */);
4025}
4026
4027static PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC
4028epoxy_glXReleaseVideoCaptureDeviceNV_resolver(void)
4029{
4030    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 2551 /* glXReleaseVideoCaptureDeviceNV */);
4031}
4032
4033static PFNGLXRELEASEVIDEODEVICENVPROC
4034epoxy_glXReleaseVideoDeviceNV_resolver(void)
4035{
4036    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 2582 /* glXReleaseVideoDeviceNV */);
4037}
4038
4039static PFNGLXRELEASEVIDEOIMAGENVPROC
4040epoxy_glXReleaseVideoImageNV_resolver(void)
4041{
4042    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 2606 /* glXReleaseVideoImageNV */);
4043}
4044
4045static PFNGLXRESETFRAMECOUNTNVPROC
4046epoxy_glXResetFrameCountNV_resolver(void)
4047{
4048    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2629 /* glXResetFrameCountNV */);
4049}
4050
4051static PFNGLXSELECTEVENTPROC
4052epoxy_glXSelectEvent_resolver(void)
4053{
4054    return glx_single_resolver(GLX_13, 2650 /* glXSelectEvent */);
4055}
4056
4057static PFNGLXSELECTEVENTSGIXPROC
4058epoxy_glXSelectEventSGIX_resolver(void)
4059{
4060    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 2665 /* glXSelectEventSGIX */);
4061}
4062
4063static PFNGLXSENDPBUFFERTOVIDEONVPROC
4064epoxy_glXSendPbufferToVideoNV_resolver(void)
4065{
4066    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 2684 /* glXSendPbufferToVideoNV */);
4067}
4068
4069static PFNGLXSET3DFXMODEMESAPROC
4070epoxy_glXSet3DfxModeMESA_resolver(void)
4071{
4072    return glx_single_resolver(GLX_extension_GLX_MESA_set_3dfx_mode, 2708 /* glXSet3DfxModeMESA */);
4073}
4074
4075static PFNGLXSWAPBUFFERSPROC
4076epoxy_glXSwapBuffers_resolver(void)
4077{
4078    return glx_single_resolver(GLX_10, 2727 /* glXSwapBuffers */);
4079}
4080
4081static PFNGLXSWAPBUFFERSMSCOMLPROC
4082epoxy_glXSwapBuffersMscOML_resolver(void)
4083{
4084    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 2742 /* glXSwapBuffersMscOML */);
4085}
4086
4087static PFNGLXSWAPINTERVALEXTPROC
4088epoxy_glXSwapIntervalEXT_resolver(void)
4089{
4090    return glx_single_resolver(GLX_extension_GLX_EXT_swap_control, 2763 /* glXSwapIntervalEXT */);
4091}
4092
4093static PFNGLXSWAPINTERVALSGIPROC
4094epoxy_glXSwapIntervalSGI_resolver(void)
4095{
4096    return glx_single_resolver(GLX_extension_GLX_SGI_swap_control, 2782 /* glXSwapIntervalSGI */);
4097}
4098
4099static PFNGLXUSEXFONTPROC
4100epoxy_glXUseXFont_resolver(void)
4101{
4102    return glx_single_resolver(GLX_10, 2801 /* glXUseXFont */);
4103}
4104
4105static PFNGLXWAITFORMSCOMLPROC
4106epoxy_glXWaitForMscOML_resolver(void)
4107{
4108    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 2813 /* glXWaitForMscOML */);
4109}
4110
4111static PFNGLXWAITFORSBCOMLPROC
4112epoxy_glXWaitForSbcOML_resolver(void)
4113{
4114    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 2830 /* glXWaitForSbcOML */);
4115}
4116
4117static PFNGLXWAITGLPROC
4118epoxy_glXWaitGL_resolver(void)
4119{
4120    return glx_single_resolver(GLX_10, 2847 /* glXWaitGL */);
4121}
4122
4123static PFNGLXWAITVIDEOSYNCSGIPROC
4124epoxy_glXWaitVideoSyncSGI_resolver(void)
4125{
4126    return glx_single_resolver(GLX_extension_GLX_SGI_video_sync, 2857 /* glXWaitVideoSyncSGI */);
4127}
4128
4129static PFNGLXWAITXPROC
4130epoxy_glXWaitX_resolver(void)
4131{
4132    return glx_single_resolver(GLX_10, 2877 /* glXWaitX */);
4133}
4134
4135GEN_THUNKS_RET(int, glXBindChannelToWindowSGIX, (Display * display, int screen, int channel, Window window), (display, screen, channel, window))
4136GEN_THUNKS_RET(int, glXBindHyperpipeSGIX, (Display * dpy, int hpId), (dpy, hpId))
4137GEN_THUNKS_RET(Bool, glXBindSwapBarrierNV, (Display * dpy, GLuint group, GLuint barrier), (dpy, group, barrier))
4138GEN_THUNKS(glXBindSwapBarrierSGIX, (Display * dpy, GLXDrawable drawable, int barrier), (dpy, drawable, barrier))
4139GEN_THUNKS(glXBindTexImageEXT, (Display * dpy, GLXDrawable drawable, int buffer, const int * attrib_list), (dpy, drawable, buffer, attrib_list))
4140GEN_THUNKS_RET(int, glXBindVideoCaptureDeviceNV, (Display * dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device), (dpy, video_capture_slot, device))
4141GEN_THUNKS_RET(int, glXBindVideoDeviceNV, (Display * dpy, unsigned int video_slot, unsigned int video_device, const int * attrib_list), (dpy, video_slot, video_device, attrib_list))
4142GEN_THUNKS_RET(int, glXBindVideoImageNV, (Display * dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer), (dpy, VideoDevice, pbuf, iVideoBuffer))
4143GEN_THUNKS(glXBlitContextFramebufferAMD, (GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter), (dstCtx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter))
4144GEN_THUNKS_RET(int, glXChannelRectSGIX, (Display * display, int screen, int channel, int x, int y, int w, int h), (display, screen, channel, x, y, w, h))
4145GEN_THUNKS_RET(int, glXChannelRectSyncSGIX, (Display * display, int screen, int channel, GLenum synctype), (display, screen, channel, synctype))
4146GEN_THUNKS_RET(GLXFBConfig *, glXChooseFBConfig, (Display * dpy, int screen, const int * attrib_list, int * nelements), (dpy, screen, attrib_list, nelements))
4147GEN_THUNKS_RET(GLXFBConfigSGIX *, glXChooseFBConfigSGIX, (Display * dpy, int screen, int * attrib_list, int * nelements), (dpy, screen, attrib_list, nelements))
4148GEN_THUNKS_RET(XVisualInfo *, glXChooseVisual, (Display * dpy, int screen, int * attribList), (dpy, screen, attribList))
4149GEN_THUNKS(glXCopyBufferSubDataNV, (Display * dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size), (dpy, readCtx, writeCtx, readTarget, writeTarget, readOffset, writeOffset, size))
4150GEN_THUNKS(glXCopyContext, (Display * dpy, GLXContext src, GLXContext dst, unsigned long mask), (dpy, src, dst, mask))
4151GEN_THUNKS(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), (dpy, srcCtx, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstCtx, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth))
4152GEN_THUNKS(glXCopySubBufferMESA, (Display * dpy, GLXDrawable drawable, int x, int y, int width, int height), (dpy, drawable, x, y, width, height))
4153GEN_THUNKS_RET(GLXContext, glXCreateAssociatedContextAMD, (unsigned int id, GLXContext share_list), (id, share_list))
4154GEN_THUNKS_RET(GLXContext, glXCreateAssociatedContextAttribsAMD, (unsigned int id, GLXContext share_context, const int * attribList), (id, share_context, attribList))
4155GEN_THUNKS_RET(GLXContext, glXCreateContext, (Display * dpy, XVisualInfo * vis, GLXContext shareList, Bool direct), (dpy, vis, shareList, direct))
4156GEN_THUNKS_RET(GLXContext, glXCreateContextAttribsARB, (Display * dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int * attrib_list), (dpy, config, share_context, direct, attrib_list))
4157GEN_THUNKS_RET(GLXContext, glXCreateContextWithConfigSGIX, (Display * dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct), (dpy, config, render_type, share_list, direct))
4158GEN_THUNKS_RET(GLXPbufferSGIX, glXCreateGLXPbufferSGIX, (Display * dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int * attrib_list), (dpy, config, width, height, attrib_list))
4159GEN_THUNKS_RET(GLXPixmap, glXCreateGLXPixmap, (Display * dpy, XVisualInfo * visual, Pixmap pixmap), (dpy, visual, pixmap))
4160GEN_THUNKS_RET(GLXPixmap, glXCreateGLXPixmapMESA, (Display * dpy, XVisualInfo * visual, Pixmap pixmap, Colormap cmap), (dpy, visual, pixmap, cmap))
4161GEN_THUNKS_RET(GLXPixmap, glXCreateGLXPixmapWithConfigSGIX, (Display * dpy, GLXFBConfigSGIX config, Pixmap pixmap), (dpy, config, pixmap))
4162GEN_THUNKS_RET(GLXContext, glXCreateNewContext, (Display * dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct), (dpy, config, render_type, share_list, direct))
4163GEN_THUNKS_RET(GLXPbuffer, glXCreatePbuffer, (Display * dpy, GLXFBConfig config, const int * attrib_list), (dpy, config, attrib_list))
4164GEN_THUNKS_RET(GLXPixmap, glXCreatePixmap, (Display * dpy, GLXFBConfig config, Pixmap pixmap, const int * attrib_list), (dpy, config, pixmap, attrib_list))
4165GEN_THUNKS_RET(GLXWindow, glXCreateWindow, (Display * dpy, GLXFBConfig config, Window win, const int * attrib_list), (dpy, config, win, attrib_list))
4166GEN_THUNKS(glXCushionSGI, (Display * dpy, Window window, float cushion), (dpy, window, cushion))
4167GEN_THUNKS_RET(Bool, glXDelayBeforeSwapNV, (Display * dpy, GLXDrawable drawable, GLfloat seconds), (dpy, drawable, seconds))
4168GEN_THUNKS_RET(Bool, glXDeleteAssociatedContextAMD, (GLXContext ctx), (ctx))
4169GEN_THUNKS(glXDestroyContext, (Display * dpy, GLXContext ctx), (dpy, ctx))
4170GEN_THUNKS(glXDestroyGLXPbufferSGIX, (Display * dpy, GLXPbufferSGIX pbuf), (dpy, pbuf))
4171GEN_THUNKS(glXDestroyGLXPixmap, (Display * dpy, GLXPixmap pixmap), (dpy, pixmap))
4172GEN_THUNKS(glXDestroyGLXVideoSourceSGIX, (Display * dpy, GLXVideoSourceSGIX glxvideosource), (dpy, glxvideosource))
4173GEN_THUNKS_RET(int, glXDestroyHyperpipeConfigSGIX, (Display * dpy, int hpId), (dpy, hpId))
4174GEN_THUNKS(glXDestroyPbuffer, (Display * dpy, GLXPbuffer pbuf), (dpy, pbuf))
4175GEN_THUNKS(glXDestroyPixmap, (Display * dpy, GLXPixmap pixmap), (dpy, pixmap))
4176GEN_THUNKS(glXDestroyWindow, (Display * dpy, GLXWindow win), (dpy, win))
4177GEN_THUNKS_RET(GLXVideoCaptureDeviceNV *, glXEnumerateVideoCaptureDevicesNV, (Display * dpy, int screen, int * nelements), (dpy, screen, nelements))
4178GEN_THUNKS_RET(unsigned int *, glXEnumerateVideoDevicesNV, (Display * dpy, int screen, int * nelements), (dpy, screen, nelements))
4179GEN_THUNKS(glXFreeContextEXT, (Display * dpy, GLXContext context), (dpy, context))
4180GEN_THUNKS_RET(unsigned int, glXGetAGPOffsetMESA, (const void * pointer), (pointer))
4181GEN_THUNKS_RET(const char *, glXGetClientString, (Display * dpy, int name), (dpy, name))
4182GEN_THUNKS_RET(int, glXGetConfig, (Display * dpy, XVisualInfo * visual, int attrib, int * value), (dpy, visual, attrib, value))
4183GEN_THUNKS_RET(unsigned int, glXGetContextGPUIDAMD, (GLXContext ctx), (ctx))
4184GEN_THUNKS_RET(GLXContextID, glXGetContextIDEXT, (const GLXContext context), (context))
4185GEN_THUNKS_RET(GLXContext, glXGetCurrentAssociatedContextAMD, (void), ())
4186GEN_THUNKS_RET(GLXContext, glXGetCurrentContext, (void), ())
4187GEN_THUNKS_RET(Display *, glXGetCurrentDisplay, (void), ())
4188GEN_THUNKS_RET(Display *, glXGetCurrentDisplayEXT, (void), ())
4189GEN_THUNKS_RET(GLXDrawable, glXGetCurrentDrawable, (void), ())
4190GEN_THUNKS_RET(GLXDrawable, glXGetCurrentReadDrawable, (void), ())
4191GEN_THUNKS_RET(GLXDrawable, glXGetCurrentReadDrawableSGI, (void), ())
4192GEN_THUNKS_RET(int, glXGetFBConfigAttrib, (Display * dpy, GLXFBConfig config, int attribute, int * value), (dpy, config, attribute, value))
4193GEN_THUNKS_RET(int, glXGetFBConfigAttribSGIX, (Display * dpy, GLXFBConfigSGIX config, int attribute, int * value), (dpy, config, attribute, value))
4194GEN_THUNKS_RET(GLXFBConfigSGIX, glXGetFBConfigFromVisualSGIX, (Display * dpy, XVisualInfo * vis), (dpy, vis))
4195GEN_THUNKS_RET(GLXFBConfig *, glXGetFBConfigs, (Display * dpy, int screen, int * nelements), (dpy, screen, nelements))
4196GEN_THUNKS_RET(unsigned int, glXGetGPUIDsAMD, (unsigned int maxCount, unsigned int * ids), (maxCount, ids))
4197GEN_THUNKS_RET(int, glXGetGPUInfoAMD, (unsigned int id, int property, GLenum dataType, unsigned int size, void * data), (id, property, dataType, size, data))
4198GEN_THUNKS_RET(Bool, glXGetMscRateOML, (Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator), (dpy, drawable, numerator, denominator))
4199GEN_THUNKS_RET(__GLXextFuncPtr, glXGetProcAddress, (const GLubyte * procName), (procName))
4200GEN_THUNKS_RET(__GLXextFuncPtr, glXGetProcAddressARB, (const GLubyte * procName), (procName))
4201GEN_THUNKS(glXGetSelectedEvent, (Display * dpy, GLXDrawable draw, unsigned long * event_mask), (dpy, draw, event_mask))
4202GEN_THUNKS(glXGetSelectedEventSGIX, (Display * dpy, GLXDrawable drawable, unsigned long * mask), (dpy, drawable, mask))
4203GEN_THUNKS_RET(Bool, glXGetSyncValuesOML, (Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc), (dpy, drawable, ust, msc, sbc))
4204GEN_THUNKS_RET(Status, glXGetTransparentIndexSUN, (Display * dpy, Window overlay, Window underlay, long * pTransparentIndex), (dpy, overlay, underlay, pTransparentIndex))
4205GEN_THUNKS_RET(int, glXGetVideoDeviceNV, (Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice), (dpy, screen, numVideoDevices, pVideoDevice))
4206GEN_THUNKS_RET(int, glXGetVideoInfoNV, (Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo), (dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo))
4207GEN_THUNKS_RET(int, glXGetVideoSyncSGI, (unsigned int * count), (count))
4208GEN_THUNKS_RET(XVisualInfo *, glXGetVisualFromFBConfig, (Display * dpy, GLXFBConfig config), (dpy, config))
4209GEN_THUNKS_RET(XVisualInfo *, glXGetVisualFromFBConfigSGIX, (Display * dpy, GLXFBConfigSGIX config), (dpy, config))
4210GEN_THUNKS_RET(int, glXHyperpipeAttribSGIX, (Display * dpy, int timeSlice, int attrib, int size, void * attribList), (dpy, timeSlice, attrib, size, attribList))
4211GEN_THUNKS_RET(int, glXHyperpipeConfigSGIX, (Display * dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX * cfg, int * hpId), (dpy, networkId, npipes, cfg, hpId))
4212GEN_THUNKS_RET(GLXContext, glXImportContextEXT, (Display * dpy, GLXContextID contextID), (dpy, contextID))
4213GEN_THUNKS_RET(Bool, glXIsDirect, (Display * dpy, GLXContext ctx), (dpy, ctx))
4214GEN_THUNKS_RET(Bool, glXJoinSwapGroupNV, (Display * dpy, GLXDrawable drawable, GLuint group), (dpy, drawable, group))
4215GEN_THUNKS(glXJoinSwapGroupSGIX, (Display * dpy, GLXDrawable drawable, GLXDrawable member), (dpy, drawable, member))
4216GEN_THUNKS(glXLockVideoCaptureDeviceNV, (Display * dpy, GLXVideoCaptureDeviceNV device), (dpy, device))
4217GEN_THUNKS_RET(Bool, glXMakeAssociatedContextCurrentAMD, (GLXContext ctx), (ctx))
4218GEN_THUNKS_RET(Bool, glXMakeContextCurrent, (Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx), (dpy, draw, read, ctx))
4219GEN_THUNKS_RET(Bool, glXMakeCurrent, (Display * dpy, GLXDrawable drawable, GLXContext ctx), (dpy, drawable, ctx))
4220GEN_THUNKS_RET(Bool, glXMakeCurrentReadSGI, (Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx), (dpy, draw, read, ctx))
4221GEN_THUNKS(glXNamedCopyBufferSubDataNV, (Display * dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size), (dpy, readCtx, writeCtx, readBuffer, writeBuffer, readOffset, writeOffset, size))
4222GEN_THUNKS_RET(int, glXQueryChannelDeltasSGIX, (Display * display, int screen, int channel, int * x, int * y, int * w, int * h), (display, screen, channel, x, y, w, h))
4223GEN_THUNKS_RET(int, glXQueryChannelRectSGIX, (Display * display, int screen, int channel, int * dx, int * dy, int * dw, int * dh), (display, screen, channel, dx, dy, dw, dh))
4224GEN_THUNKS_RET(int, glXQueryContext, (Display * dpy, GLXContext ctx, int attribute, int * value), (dpy, ctx, attribute, value))
4225GEN_THUNKS_RET(int, glXQueryContextInfoEXT, (Display * dpy, GLXContext context, int attribute, int * value), (dpy, context, attribute, value))
4226GEN_THUNKS_RET(Bool, glXQueryCurrentRendererIntegerMESA, (int attribute, unsigned int * value), (attribute, value))
4227GEN_THUNKS_RET(const char *, glXQueryCurrentRendererStringMESA, (int attribute), (attribute))
4228GEN_THUNKS(glXQueryDrawable, (Display * dpy, GLXDrawable draw, int attribute, unsigned int * value), (dpy, draw, attribute, value))
4229GEN_THUNKS_RET(Bool, glXQueryExtension, (Display * dpy, int * errorb, int * event), (dpy, errorb, event))
4230GEN_THUNKS_RET(const char *, glXQueryExtensionsString, (Display * dpy, int screen), (dpy, screen))
4231GEN_THUNKS_RET(Bool, glXQueryFrameCountNV, (Display * dpy, int screen, GLuint * count), (dpy, screen, count))
4232GEN_THUNKS_RET(int, glXQueryGLXPbufferSGIX, (Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value), (dpy, pbuf, attribute, value))
4233GEN_THUNKS_RET(int, glXQueryHyperpipeAttribSGIX, (Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList), (dpy, timeSlice, attrib, size, returnAttribList))
4234GEN_THUNKS_RET(int, glXQueryHyperpipeBestAttribSGIX, (Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList), (dpy, timeSlice, attrib, size, attribList, returnAttribList))
4235GEN_THUNKS_RET(GLXHyperpipeConfigSGIX *, glXQueryHyperpipeConfigSGIX, (Display * dpy, int hpId, int * npipes), (dpy, hpId, npipes))
4236GEN_THUNKS_RET(GLXHyperpipeNetworkSGIX *, glXQueryHyperpipeNetworkSGIX, (Display * dpy, int * npipes), (dpy, npipes))
4237GEN_THUNKS_RET(Bool, glXQueryMaxSwapBarriersSGIX, (Display * dpy, int screen, int * max), (dpy, screen, max))
4238GEN_THUNKS_RET(Bool, glXQueryMaxSwapGroupsNV, (Display * dpy, int screen, GLuint * maxGroups, GLuint * maxBarriers), (dpy, screen, maxGroups, maxBarriers))
4239GEN_THUNKS_RET(Bool, glXQueryRendererIntegerMESA, (Display * dpy, int screen, int renderer, int attribute, unsigned int * value), (dpy, screen, renderer, attribute, value))
4240GEN_THUNKS_RET(const char *, glXQueryRendererStringMESA, (Display * dpy, int screen, int renderer, int attribute), (dpy, screen, renderer, attribute))
4241GEN_THUNKS_RET(const char *, glXQueryServerString, (Display * dpy, int screen, int name), (dpy, screen, name))
4242GEN_THUNKS_RET(Bool, glXQuerySwapGroupNV, (Display * dpy, GLXDrawable drawable, GLuint * group, GLuint * barrier), (dpy, drawable, group, barrier))
4243GEN_THUNKS_RET(Bool, glXQueryVersion, (Display * dpy, int * maj, int * min), (dpy, maj, min))
4244GEN_THUNKS_RET(int, glXQueryVideoCaptureDeviceNV, (Display * dpy, GLXVideoCaptureDeviceNV device, int attribute, int * value), (dpy, device, attribute, value))
4245GEN_THUNKS_RET(Bool, glXReleaseBuffersMESA, (Display * dpy, GLXDrawable drawable), (dpy, drawable))
4246GEN_THUNKS(glXReleaseTexImageEXT, (Display * dpy, GLXDrawable drawable, int buffer), (dpy, drawable, buffer))
4247GEN_THUNKS(glXReleaseVideoCaptureDeviceNV, (Display * dpy, GLXVideoCaptureDeviceNV device), (dpy, device))
4248GEN_THUNKS_RET(int, glXReleaseVideoDeviceNV, (Display * dpy, int screen, GLXVideoDeviceNV VideoDevice), (dpy, screen, VideoDevice))
4249GEN_THUNKS_RET(int, glXReleaseVideoImageNV, (Display * dpy, GLXPbuffer pbuf), (dpy, pbuf))
4250GEN_THUNKS_RET(Bool, glXResetFrameCountNV, (Display * dpy, int screen), (dpy, screen))
4251GEN_THUNKS(glXSelectEvent, (Display * dpy, GLXDrawable draw, unsigned long event_mask), (dpy, draw, event_mask))
4252GEN_THUNKS(glXSelectEventSGIX, (Display * dpy, GLXDrawable drawable, unsigned long mask), (dpy, drawable, mask))
4253GEN_THUNKS_RET(int, glXSendPbufferToVideoNV, (Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock), (dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock))
4254GEN_THUNKS_RET(Bool, glXSet3DfxModeMESA, (int mode), (mode))
4255GEN_THUNKS(glXSwapBuffers, (Display * dpy, GLXDrawable drawable), (dpy, drawable))
4256GEN_THUNKS_RET(int64_t, glXSwapBuffersMscOML, (Display * dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder), (dpy, drawable, target_msc, divisor, remainder))
4257GEN_THUNKS(glXSwapIntervalEXT, (Display * dpy, GLXDrawable drawable, int interval), (dpy, drawable, interval))
4258GEN_THUNKS_RET(int, glXSwapIntervalSGI, (int interval), (interval))
4259GEN_THUNKS(glXUseXFont, (Font font, int first, int count, int list), (font, first, count, list))
4260GEN_THUNKS_RET(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), (dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc))
4261GEN_THUNKS_RET(Bool, glXWaitForSbcOML, (Display * dpy, GLXDrawable drawable, int64_t target_sbc, int64_t * ust, int64_t * msc, int64_t * sbc), (dpy, drawable, target_sbc, ust, msc, sbc))
4262GEN_THUNKS(glXWaitGL, (void), ())
4263GEN_THUNKS_RET(int, glXWaitVideoSyncSGI, (int divisor, int remainder, unsigned int * count), (divisor, remainder, count))
4264GEN_THUNKS(glXWaitX, (void), ())
4265
4266#if USING_DISPATCH_TABLE
4267static struct dispatch_table resolver_table = {
4268    epoxy_glXBindChannelToWindowSGIX_dispatch_table_rewrite_ptr, /* glXBindChannelToWindowSGIX */
4269    epoxy_glXBindHyperpipeSGIX_dispatch_table_rewrite_ptr, /* glXBindHyperpipeSGIX */
4270    epoxy_glXBindSwapBarrierNV_dispatch_table_rewrite_ptr, /* glXBindSwapBarrierNV */
4271    epoxy_glXBindSwapBarrierSGIX_dispatch_table_rewrite_ptr, /* glXBindSwapBarrierSGIX */
4272    epoxy_glXBindTexImageEXT_dispatch_table_rewrite_ptr, /* glXBindTexImageEXT */
4273    epoxy_glXBindVideoCaptureDeviceNV_dispatch_table_rewrite_ptr, /* glXBindVideoCaptureDeviceNV */
4274    epoxy_glXBindVideoDeviceNV_dispatch_table_rewrite_ptr, /* glXBindVideoDeviceNV */
4275    epoxy_glXBindVideoImageNV_dispatch_table_rewrite_ptr, /* glXBindVideoImageNV */
4276    epoxy_glXBlitContextFramebufferAMD_dispatch_table_rewrite_ptr, /* glXBlitContextFramebufferAMD */
4277    epoxy_glXChannelRectSGIX_dispatch_table_rewrite_ptr, /* glXChannelRectSGIX */
4278    epoxy_glXChannelRectSyncSGIX_dispatch_table_rewrite_ptr, /* glXChannelRectSyncSGIX */
4279    epoxy_glXChooseFBConfig_dispatch_table_rewrite_ptr, /* glXChooseFBConfig */
4280    epoxy_glXChooseFBConfigSGIX_dispatch_table_rewrite_ptr, /* glXChooseFBConfigSGIX */
4281    epoxy_glXChooseVisual_dispatch_table_rewrite_ptr, /* glXChooseVisual */
4282    epoxy_glXCopyBufferSubDataNV_dispatch_table_rewrite_ptr, /* glXCopyBufferSubDataNV */
4283    epoxy_glXCopyContext_dispatch_table_rewrite_ptr, /* glXCopyContext */
4284    epoxy_glXCopyImageSubDataNV_dispatch_table_rewrite_ptr, /* glXCopyImageSubDataNV */
4285    epoxy_glXCopySubBufferMESA_dispatch_table_rewrite_ptr, /* glXCopySubBufferMESA */
4286    epoxy_glXCreateAssociatedContextAMD_dispatch_table_rewrite_ptr, /* glXCreateAssociatedContextAMD */
4287    epoxy_glXCreateAssociatedContextAttribsAMD_dispatch_table_rewrite_ptr, /* glXCreateAssociatedContextAttribsAMD */
4288    epoxy_glXCreateContext_dispatch_table_rewrite_ptr, /* glXCreateContext */
4289    epoxy_glXCreateContextAttribsARB_dispatch_table_rewrite_ptr, /* glXCreateContextAttribsARB */
4290    epoxy_glXCreateContextWithConfigSGIX_dispatch_table_rewrite_ptr, /* glXCreateContextWithConfigSGIX */
4291    epoxy_glXCreateGLXPbufferSGIX_dispatch_table_rewrite_ptr, /* glXCreateGLXPbufferSGIX */
4292    epoxy_glXCreateGLXPixmap_dispatch_table_rewrite_ptr, /* glXCreateGLXPixmap */
4293    epoxy_glXCreateGLXPixmapMESA_dispatch_table_rewrite_ptr, /* glXCreateGLXPixmapMESA */
4294    epoxy_glXCreateGLXPixmapWithConfigSGIX_dispatch_table_rewrite_ptr, /* glXCreateGLXPixmapWithConfigSGIX */
4295    epoxy_glXCreateNewContext_dispatch_table_rewrite_ptr, /* glXCreateNewContext */
4296    epoxy_glXCreatePbuffer_dispatch_table_rewrite_ptr, /* glXCreatePbuffer */
4297    epoxy_glXCreatePixmap_dispatch_table_rewrite_ptr, /* glXCreatePixmap */
4298    epoxy_glXCreateWindow_dispatch_table_rewrite_ptr, /* glXCreateWindow */
4299    epoxy_glXCushionSGI_dispatch_table_rewrite_ptr, /* glXCushionSGI */
4300    epoxy_glXDelayBeforeSwapNV_dispatch_table_rewrite_ptr, /* glXDelayBeforeSwapNV */
4301    epoxy_glXDeleteAssociatedContextAMD_dispatch_table_rewrite_ptr, /* glXDeleteAssociatedContextAMD */
4302    epoxy_glXDestroyContext_dispatch_table_rewrite_ptr, /* glXDestroyContext */
4303    epoxy_glXDestroyGLXPbufferSGIX_dispatch_table_rewrite_ptr, /* glXDestroyGLXPbufferSGIX */
4304    epoxy_glXDestroyGLXPixmap_dispatch_table_rewrite_ptr, /* glXDestroyGLXPixmap */
4305    epoxy_glXDestroyGLXVideoSourceSGIX_dispatch_table_rewrite_ptr, /* glXDestroyGLXVideoSourceSGIX */
4306    epoxy_glXDestroyHyperpipeConfigSGIX_dispatch_table_rewrite_ptr, /* glXDestroyHyperpipeConfigSGIX */
4307    epoxy_glXDestroyPbuffer_dispatch_table_rewrite_ptr, /* glXDestroyPbuffer */
4308    epoxy_glXDestroyPixmap_dispatch_table_rewrite_ptr, /* glXDestroyPixmap */
4309    epoxy_glXDestroyWindow_dispatch_table_rewrite_ptr, /* glXDestroyWindow */
4310    epoxy_glXEnumerateVideoCaptureDevicesNV_dispatch_table_rewrite_ptr, /* glXEnumerateVideoCaptureDevicesNV */
4311    epoxy_glXEnumerateVideoDevicesNV_dispatch_table_rewrite_ptr, /* glXEnumerateVideoDevicesNV */
4312    epoxy_glXFreeContextEXT_dispatch_table_rewrite_ptr, /* glXFreeContextEXT */
4313    epoxy_glXGetAGPOffsetMESA_dispatch_table_rewrite_ptr, /* glXGetAGPOffsetMESA */
4314    epoxy_glXGetClientString_dispatch_table_rewrite_ptr, /* glXGetClientString */
4315    epoxy_glXGetConfig_dispatch_table_rewrite_ptr, /* glXGetConfig */
4316    epoxy_glXGetContextGPUIDAMD_dispatch_table_rewrite_ptr, /* glXGetContextGPUIDAMD */
4317    epoxy_glXGetContextIDEXT_dispatch_table_rewrite_ptr, /* glXGetContextIDEXT */
4318    epoxy_glXGetCurrentAssociatedContextAMD_dispatch_table_rewrite_ptr, /* glXGetCurrentAssociatedContextAMD */
4319    epoxy_glXGetCurrentContext_dispatch_table_rewrite_ptr, /* glXGetCurrentContext */
4320    epoxy_glXGetCurrentDisplay_dispatch_table_rewrite_ptr, /* glXGetCurrentDisplay */
4321    epoxy_glXGetCurrentDisplayEXT_dispatch_table_rewrite_ptr, /* glXGetCurrentDisplayEXT */
4322    epoxy_glXGetCurrentDrawable_dispatch_table_rewrite_ptr, /* glXGetCurrentDrawable */
4323    epoxy_glXGetCurrentReadDrawable_dispatch_table_rewrite_ptr, /* glXGetCurrentReadDrawable */
4324    epoxy_glXGetCurrentReadDrawableSGI_dispatch_table_rewrite_ptr, /* glXGetCurrentReadDrawableSGI */
4325    epoxy_glXGetFBConfigAttrib_dispatch_table_rewrite_ptr, /* glXGetFBConfigAttrib */
4326    epoxy_glXGetFBConfigAttribSGIX_dispatch_table_rewrite_ptr, /* glXGetFBConfigAttribSGIX */
4327    epoxy_glXGetFBConfigFromVisualSGIX_dispatch_table_rewrite_ptr, /* glXGetFBConfigFromVisualSGIX */
4328    epoxy_glXGetFBConfigs_dispatch_table_rewrite_ptr, /* glXGetFBConfigs */
4329    epoxy_glXGetGPUIDsAMD_dispatch_table_rewrite_ptr, /* glXGetGPUIDsAMD */
4330    epoxy_glXGetGPUInfoAMD_dispatch_table_rewrite_ptr, /* glXGetGPUInfoAMD */
4331    epoxy_glXGetMscRateOML_dispatch_table_rewrite_ptr, /* glXGetMscRateOML */
4332    epoxy_glXGetProcAddress_dispatch_table_rewrite_ptr, /* glXGetProcAddress */
4333    epoxy_glXGetProcAddressARB_dispatch_table_rewrite_ptr, /* glXGetProcAddressARB */
4334    epoxy_glXGetSelectedEvent_dispatch_table_rewrite_ptr, /* glXGetSelectedEvent */
4335    epoxy_glXGetSelectedEventSGIX_dispatch_table_rewrite_ptr, /* glXGetSelectedEventSGIX */
4336    epoxy_glXGetSyncValuesOML_dispatch_table_rewrite_ptr, /* glXGetSyncValuesOML */
4337    epoxy_glXGetTransparentIndexSUN_dispatch_table_rewrite_ptr, /* glXGetTransparentIndexSUN */
4338    epoxy_glXGetVideoDeviceNV_dispatch_table_rewrite_ptr, /* glXGetVideoDeviceNV */
4339    epoxy_glXGetVideoInfoNV_dispatch_table_rewrite_ptr, /* glXGetVideoInfoNV */
4340    epoxy_glXGetVideoSyncSGI_dispatch_table_rewrite_ptr, /* glXGetVideoSyncSGI */
4341    epoxy_glXGetVisualFromFBConfig_dispatch_table_rewrite_ptr, /* glXGetVisualFromFBConfig */
4342    epoxy_glXGetVisualFromFBConfigSGIX_dispatch_table_rewrite_ptr, /* glXGetVisualFromFBConfigSGIX */
4343    epoxy_glXHyperpipeAttribSGIX_dispatch_table_rewrite_ptr, /* glXHyperpipeAttribSGIX */
4344    epoxy_glXHyperpipeConfigSGIX_dispatch_table_rewrite_ptr, /* glXHyperpipeConfigSGIX */
4345    epoxy_glXImportContextEXT_dispatch_table_rewrite_ptr, /* glXImportContextEXT */
4346    epoxy_glXIsDirect_dispatch_table_rewrite_ptr, /* glXIsDirect */
4347    epoxy_glXJoinSwapGroupNV_dispatch_table_rewrite_ptr, /* glXJoinSwapGroupNV */
4348    epoxy_glXJoinSwapGroupSGIX_dispatch_table_rewrite_ptr, /* glXJoinSwapGroupSGIX */
4349    epoxy_glXLockVideoCaptureDeviceNV_dispatch_table_rewrite_ptr, /* glXLockVideoCaptureDeviceNV */
4350    epoxy_glXMakeAssociatedContextCurrentAMD_dispatch_table_rewrite_ptr, /* glXMakeAssociatedContextCurrentAMD */
4351    epoxy_glXMakeContextCurrent_dispatch_table_rewrite_ptr, /* glXMakeContextCurrent */
4352    epoxy_glXMakeCurrent_dispatch_table_rewrite_ptr, /* glXMakeCurrent */
4353    epoxy_glXMakeCurrentReadSGI_dispatch_table_rewrite_ptr, /* glXMakeCurrentReadSGI */
4354    epoxy_glXNamedCopyBufferSubDataNV_dispatch_table_rewrite_ptr, /* glXNamedCopyBufferSubDataNV */
4355    epoxy_glXQueryChannelDeltasSGIX_dispatch_table_rewrite_ptr, /* glXQueryChannelDeltasSGIX */
4356    epoxy_glXQueryChannelRectSGIX_dispatch_table_rewrite_ptr, /* glXQueryChannelRectSGIX */
4357    epoxy_glXQueryContext_dispatch_table_rewrite_ptr, /* glXQueryContext */
4358    epoxy_glXQueryContextInfoEXT_dispatch_table_rewrite_ptr, /* glXQueryContextInfoEXT */
4359    epoxy_glXQueryCurrentRendererIntegerMESA_dispatch_table_rewrite_ptr, /* glXQueryCurrentRendererIntegerMESA */
4360    epoxy_glXQueryCurrentRendererStringMESA_dispatch_table_rewrite_ptr, /* glXQueryCurrentRendererStringMESA */
4361    epoxy_glXQueryDrawable_dispatch_table_rewrite_ptr, /* glXQueryDrawable */
4362    epoxy_glXQueryExtension_dispatch_table_rewrite_ptr, /* glXQueryExtension */
4363    epoxy_glXQueryExtensionsString_dispatch_table_rewrite_ptr, /* glXQueryExtensionsString */
4364    epoxy_glXQueryFrameCountNV_dispatch_table_rewrite_ptr, /* glXQueryFrameCountNV */
4365    epoxy_glXQueryGLXPbufferSGIX_dispatch_table_rewrite_ptr, /* glXQueryGLXPbufferSGIX */
4366    epoxy_glXQueryHyperpipeAttribSGIX_dispatch_table_rewrite_ptr, /* glXQueryHyperpipeAttribSGIX */
4367    epoxy_glXQueryHyperpipeBestAttribSGIX_dispatch_table_rewrite_ptr, /* glXQueryHyperpipeBestAttribSGIX */
4368    epoxy_glXQueryHyperpipeConfigSGIX_dispatch_table_rewrite_ptr, /* glXQueryHyperpipeConfigSGIX */
4369    epoxy_glXQueryHyperpipeNetworkSGIX_dispatch_table_rewrite_ptr, /* glXQueryHyperpipeNetworkSGIX */
4370    epoxy_glXQueryMaxSwapBarriersSGIX_dispatch_table_rewrite_ptr, /* glXQueryMaxSwapBarriersSGIX */
4371    epoxy_glXQueryMaxSwapGroupsNV_dispatch_table_rewrite_ptr, /* glXQueryMaxSwapGroupsNV */
4372    epoxy_glXQueryRendererIntegerMESA_dispatch_table_rewrite_ptr, /* glXQueryRendererIntegerMESA */
4373    epoxy_glXQueryRendererStringMESA_dispatch_table_rewrite_ptr, /* glXQueryRendererStringMESA */
4374    epoxy_glXQueryServerString_dispatch_table_rewrite_ptr, /* glXQueryServerString */
4375    epoxy_glXQuerySwapGroupNV_dispatch_table_rewrite_ptr, /* glXQuerySwapGroupNV */
4376    epoxy_glXQueryVersion_dispatch_table_rewrite_ptr, /* glXQueryVersion */
4377    epoxy_glXQueryVideoCaptureDeviceNV_dispatch_table_rewrite_ptr, /* glXQueryVideoCaptureDeviceNV */
4378    epoxy_glXReleaseBuffersMESA_dispatch_table_rewrite_ptr, /* glXReleaseBuffersMESA */
4379    epoxy_glXReleaseTexImageEXT_dispatch_table_rewrite_ptr, /* glXReleaseTexImageEXT */
4380    epoxy_glXReleaseVideoCaptureDeviceNV_dispatch_table_rewrite_ptr, /* glXReleaseVideoCaptureDeviceNV */
4381    epoxy_glXReleaseVideoDeviceNV_dispatch_table_rewrite_ptr, /* glXReleaseVideoDeviceNV */
4382    epoxy_glXReleaseVideoImageNV_dispatch_table_rewrite_ptr, /* glXReleaseVideoImageNV */
4383    epoxy_glXResetFrameCountNV_dispatch_table_rewrite_ptr, /* glXResetFrameCountNV */
4384    epoxy_glXSelectEvent_dispatch_table_rewrite_ptr, /* glXSelectEvent */
4385    epoxy_glXSelectEventSGIX_dispatch_table_rewrite_ptr, /* glXSelectEventSGIX */
4386    epoxy_glXSendPbufferToVideoNV_dispatch_table_rewrite_ptr, /* glXSendPbufferToVideoNV */
4387    epoxy_glXSet3DfxModeMESA_dispatch_table_rewrite_ptr, /* glXSet3DfxModeMESA */
4388    epoxy_glXSwapBuffers_dispatch_table_rewrite_ptr, /* glXSwapBuffers */
4389    epoxy_glXSwapBuffersMscOML_dispatch_table_rewrite_ptr, /* glXSwapBuffersMscOML */
4390    epoxy_glXSwapIntervalEXT_dispatch_table_rewrite_ptr, /* glXSwapIntervalEXT */
4391    epoxy_glXSwapIntervalSGI_dispatch_table_rewrite_ptr, /* glXSwapIntervalSGI */
4392    epoxy_glXUseXFont_dispatch_table_rewrite_ptr, /* glXUseXFont */
4393    epoxy_glXWaitForMscOML_dispatch_table_rewrite_ptr, /* glXWaitForMscOML */
4394    epoxy_glXWaitForSbcOML_dispatch_table_rewrite_ptr, /* glXWaitForSbcOML */
4395    epoxy_glXWaitGL_dispatch_table_rewrite_ptr, /* glXWaitGL */
4396    epoxy_glXWaitVideoSyncSGI_dispatch_table_rewrite_ptr, /* glXWaitVideoSyncSGI */
4397    epoxy_glXWaitX_dispatch_table_rewrite_ptr, /* glXWaitX */
4398};
4399
4400uint32_t glx_tls_index;
4401uint32_t glx_tls_size = sizeof(struct dispatch_table);
4402
4403static inline struct dispatch_table *
4404get_dispatch_table(void)
4405{
4406	return TlsGetValue(glx_tls_index);
4407}
4408
4409void
4410glx_init_dispatch_table(void)
4411{
4412    struct dispatch_table *dispatch_table = get_dispatch_table();
4413    memcpy(dispatch_table, &resolver_table, sizeof(resolver_table));
4414}
4415
4416void
4417glx_switch_to_dispatch_table(void)
4418{
4419    epoxy_glXBindChannelToWindowSGIX = epoxy_glXBindChannelToWindowSGIX_dispatch_table_thunk;
4420    epoxy_glXBindHyperpipeSGIX = epoxy_glXBindHyperpipeSGIX_dispatch_table_thunk;
4421    epoxy_glXBindSwapBarrierNV = epoxy_glXBindSwapBarrierNV_dispatch_table_thunk;
4422    epoxy_glXBindSwapBarrierSGIX = epoxy_glXBindSwapBarrierSGIX_dispatch_table_thunk;
4423    epoxy_glXBindTexImageEXT = epoxy_glXBindTexImageEXT_dispatch_table_thunk;
4424    epoxy_glXBindVideoCaptureDeviceNV = epoxy_glXBindVideoCaptureDeviceNV_dispatch_table_thunk;
4425    epoxy_glXBindVideoDeviceNV = epoxy_glXBindVideoDeviceNV_dispatch_table_thunk;
4426    epoxy_glXBindVideoImageNV = epoxy_glXBindVideoImageNV_dispatch_table_thunk;
4427    epoxy_glXBlitContextFramebufferAMD = epoxy_glXBlitContextFramebufferAMD_dispatch_table_thunk;
4428    epoxy_glXChannelRectSGIX = epoxy_glXChannelRectSGIX_dispatch_table_thunk;
4429    epoxy_glXChannelRectSyncSGIX = epoxy_glXChannelRectSyncSGIX_dispatch_table_thunk;
4430    epoxy_glXChooseFBConfig = epoxy_glXChooseFBConfig_dispatch_table_thunk;
4431    epoxy_glXChooseFBConfigSGIX = epoxy_glXChooseFBConfigSGIX_dispatch_table_thunk;
4432    epoxy_glXChooseVisual = epoxy_glXChooseVisual_dispatch_table_thunk;
4433    epoxy_glXCopyBufferSubDataNV = epoxy_glXCopyBufferSubDataNV_dispatch_table_thunk;
4434    epoxy_glXCopyContext = epoxy_glXCopyContext_dispatch_table_thunk;
4435    epoxy_glXCopyImageSubDataNV = epoxy_glXCopyImageSubDataNV_dispatch_table_thunk;
4436    epoxy_glXCopySubBufferMESA = epoxy_glXCopySubBufferMESA_dispatch_table_thunk;
4437    epoxy_glXCreateAssociatedContextAMD = epoxy_glXCreateAssociatedContextAMD_dispatch_table_thunk;
4438    epoxy_glXCreateAssociatedContextAttribsAMD = epoxy_glXCreateAssociatedContextAttribsAMD_dispatch_table_thunk;
4439    epoxy_glXCreateContext = epoxy_glXCreateContext_dispatch_table_thunk;
4440    epoxy_glXCreateContextAttribsARB = epoxy_glXCreateContextAttribsARB_dispatch_table_thunk;
4441    epoxy_glXCreateContextWithConfigSGIX = epoxy_glXCreateContextWithConfigSGIX_dispatch_table_thunk;
4442    epoxy_glXCreateGLXPbufferSGIX = epoxy_glXCreateGLXPbufferSGIX_dispatch_table_thunk;
4443    epoxy_glXCreateGLXPixmap = epoxy_glXCreateGLXPixmap_dispatch_table_thunk;
4444    epoxy_glXCreateGLXPixmapMESA = epoxy_glXCreateGLXPixmapMESA_dispatch_table_thunk;
4445    epoxy_glXCreateGLXPixmapWithConfigSGIX = epoxy_glXCreateGLXPixmapWithConfigSGIX_dispatch_table_thunk;
4446    epoxy_glXCreateNewContext = epoxy_glXCreateNewContext_dispatch_table_thunk;
4447    epoxy_glXCreatePbuffer = epoxy_glXCreatePbuffer_dispatch_table_thunk;
4448    epoxy_glXCreatePixmap = epoxy_glXCreatePixmap_dispatch_table_thunk;
4449    epoxy_glXCreateWindow = epoxy_glXCreateWindow_dispatch_table_thunk;
4450    epoxy_glXCushionSGI = epoxy_glXCushionSGI_dispatch_table_thunk;
4451    epoxy_glXDelayBeforeSwapNV = epoxy_glXDelayBeforeSwapNV_dispatch_table_thunk;
4452    epoxy_glXDeleteAssociatedContextAMD = epoxy_glXDeleteAssociatedContextAMD_dispatch_table_thunk;
4453    epoxy_glXDestroyContext = epoxy_glXDestroyContext_dispatch_table_thunk;
4454    epoxy_glXDestroyGLXPbufferSGIX = epoxy_glXDestroyGLXPbufferSGIX_dispatch_table_thunk;
4455    epoxy_glXDestroyGLXPixmap = epoxy_glXDestroyGLXPixmap_dispatch_table_thunk;
4456    epoxy_glXDestroyGLXVideoSourceSGIX = epoxy_glXDestroyGLXVideoSourceSGIX_dispatch_table_thunk;
4457    epoxy_glXDestroyHyperpipeConfigSGIX = epoxy_glXDestroyHyperpipeConfigSGIX_dispatch_table_thunk;
4458    epoxy_glXDestroyPbuffer = epoxy_glXDestroyPbuffer_dispatch_table_thunk;
4459    epoxy_glXDestroyPixmap = epoxy_glXDestroyPixmap_dispatch_table_thunk;
4460    epoxy_glXDestroyWindow = epoxy_glXDestroyWindow_dispatch_table_thunk;
4461    epoxy_glXEnumerateVideoCaptureDevicesNV = epoxy_glXEnumerateVideoCaptureDevicesNV_dispatch_table_thunk;
4462    epoxy_glXEnumerateVideoDevicesNV = epoxy_glXEnumerateVideoDevicesNV_dispatch_table_thunk;
4463    epoxy_glXFreeContextEXT = epoxy_glXFreeContextEXT_dispatch_table_thunk;
4464    epoxy_glXGetAGPOffsetMESA = epoxy_glXGetAGPOffsetMESA_dispatch_table_thunk;
4465    epoxy_glXGetClientString = epoxy_glXGetClientString_dispatch_table_thunk;
4466    epoxy_glXGetConfig = epoxy_glXGetConfig_dispatch_table_thunk;
4467    epoxy_glXGetContextGPUIDAMD = epoxy_glXGetContextGPUIDAMD_dispatch_table_thunk;
4468    epoxy_glXGetContextIDEXT = epoxy_glXGetContextIDEXT_dispatch_table_thunk;
4469    epoxy_glXGetCurrentAssociatedContextAMD = epoxy_glXGetCurrentAssociatedContextAMD_dispatch_table_thunk;
4470    epoxy_glXGetCurrentContext = epoxy_glXGetCurrentContext_dispatch_table_thunk;
4471    epoxy_glXGetCurrentDisplay = epoxy_glXGetCurrentDisplay_dispatch_table_thunk;
4472    epoxy_glXGetCurrentDisplayEXT = epoxy_glXGetCurrentDisplayEXT_dispatch_table_thunk;
4473    epoxy_glXGetCurrentDrawable = epoxy_glXGetCurrentDrawable_dispatch_table_thunk;
4474    epoxy_glXGetCurrentReadDrawable = epoxy_glXGetCurrentReadDrawable_dispatch_table_thunk;
4475    epoxy_glXGetCurrentReadDrawableSGI = epoxy_glXGetCurrentReadDrawableSGI_dispatch_table_thunk;
4476    epoxy_glXGetFBConfigAttrib = epoxy_glXGetFBConfigAttrib_dispatch_table_thunk;
4477    epoxy_glXGetFBConfigAttribSGIX = epoxy_glXGetFBConfigAttribSGIX_dispatch_table_thunk;
4478    epoxy_glXGetFBConfigFromVisualSGIX = epoxy_glXGetFBConfigFromVisualSGIX_dispatch_table_thunk;
4479    epoxy_glXGetFBConfigs = epoxy_glXGetFBConfigs_dispatch_table_thunk;
4480    epoxy_glXGetGPUIDsAMD = epoxy_glXGetGPUIDsAMD_dispatch_table_thunk;
4481    epoxy_glXGetGPUInfoAMD = epoxy_glXGetGPUInfoAMD_dispatch_table_thunk;
4482    epoxy_glXGetMscRateOML = epoxy_glXGetMscRateOML_dispatch_table_thunk;
4483    epoxy_glXGetProcAddress = epoxy_glXGetProcAddress_dispatch_table_thunk;
4484    epoxy_glXGetProcAddressARB = epoxy_glXGetProcAddressARB_dispatch_table_thunk;
4485    epoxy_glXGetSelectedEvent = epoxy_glXGetSelectedEvent_dispatch_table_thunk;
4486    epoxy_glXGetSelectedEventSGIX = epoxy_glXGetSelectedEventSGIX_dispatch_table_thunk;
4487    epoxy_glXGetSyncValuesOML = epoxy_glXGetSyncValuesOML_dispatch_table_thunk;
4488    epoxy_glXGetTransparentIndexSUN = epoxy_glXGetTransparentIndexSUN_dispatch_table_thunk;
4489    epoxy_glXGetVideoDeviceNV = epoxy_glXGetVideoDeviceNV_dispatch_table_thunk;
4490    epoxy_glXGetVideoInfoNV = epoxy_glXGetVideoInfoNV_dispatch_table_thunk;
4491    epoxy_glXGetVideoSyncSGI = epoxy_glXGetVideoSyncSGI_dispatch_table_thunk;
4492    epoxy_glXGetVisualFromFBConfig = epoxy_glXGetVisualFromFBConfig_dispatch_table_thunk;
4493    epoxy_glXGetVisualFromFBConfigSGIX = epoxy_glXGetVisualFromFBConfigSGIX_dispatch_table_thunk;
4494    epoxy_glXHyperpipeAttribSGIX = epoxy_glXHyperpipeAttribSGIX_dispatch_table_thunk;
4495    epoxy_glXHyperpipeConfigSGIX = epoxy_glXHyperpipeConfigSGIX_dispatch_table_thunk;
4496    epoxy_glXImportContextEXT = epoxy_glXImportContextEXT_dispatch_table_thunk;
4497    epoxy_glXIsDirect = epoxy_glXIsDirect_dispatch_table_thunk;
4498    epoxy_glXJoinSwapGroupNV = epoxy_glXJoinSwapGroupNV_dispatch_table_thunk;
4499    epoxy_glXJoinSwapGroupSGIX = epoxy_glXJoinSwapGroupSGIX_dispatch_table_thunk;
4500    epoxy_glXLockVideoCaptureDeviceNV = epoxy_glXLockVideoCaptureDeviceNV_dispatch_table_thunk;
4501    epoxy_glXMakeAssociatedContextCurrentAMD = epoxy_glXMakeAssociatedContextCurrentAMD_dispatch_table_thunk;
4502    epoxy_glXMakeContextCurrent = epoxy_glXMakeContextCurrent_dispatch_table_thunk;
4503    epoxy_glXMakeCurrent = epoxy_glXMakeCurrent_dispatch_table_thunk;
4504    epoxy_glXMakeCurrentReadSGI = epoxy_glXMakeCurrentReadSGI_dispatch_table_thunk;
4505    epoxy_glXNamedCopyBufferSubDataNV = epoxy_glXNamedCopyBufferSubDataNV_dispatch_table_thunk;
4506    epoxy_glXQueryChannelDeltasSGIX = epoxy_glXQueryChannelDeltasSGIX_dispatch_table_thunk;
4507    epoxy_glXQueryChannelRectSGIX = epoxy_glXQueryChannelRectSGIX_dispatch_table_thunk;
4508    epoxy_glXQueryContext = epoxy_glXQueryContext_dispatch_table_thunk;
4509    epoxy_glXQueryContextInfoEXT = epoxy_glXQueryContextInfoEXT_dispatch_table_thunk;
4510    epoxy_glXQueryCurrentRendererIntegerMESA = epoxy_glXQueryCurrentRendererIntegerMESA_dispatch_table_thunk;
4511    epoxy_glXQueryCurrentRendererStringMESA = epoxy_glXQueryCurrentRendererStringMESA_dispatch_table_thunk;
4512    epoxy_glXQueryDrawable = epoxy_glXQueryDrawable_dispatch_table_thunk;
4513    epoxy_glXQueryExtension = epoxy_glXQueryExtension_dispatch_table_thunk;
4514    epoxy_glXQueryExtensionsString = epoxy_glXQueryExtensionsString_dispatch_table_thunk;
4515    epoxy_glXQueryFrameCountNV = epoxy_glXQueryFrameCountNV_dispatch_table_thunk;
4516    epoxy_glXQueryGLXPbufferSGIX = epoxy_glXQueryGLXPbufferSGIX_dispatch_table_thunk;
4517    epoxy_glXQueryHyperpipeAttribSGIX = epoxy_glXQueryHyperpipeAttribSGIX_dispatch_table_thunk;
4518    epoxy_glXQueryHyperpipeBestAttribSGIX = epoxy_glXQueryHyperpipeBestAttribSGIX_dispatch_table_thunk;
4519    epoxy_glXQueryHyperpipeConfigSGIX = epoxy_glXQueryHyperpipeConfigSGIX_dispatch_table_thunk;
4520    epoxy_glXQueryHyperpipeNetworkSGIX = epoxy_glXQueryHyperpipeNetworkSGIX_dispatch_table_thunk;
4521    epoxy_glXQueryMaxSwapBarriersSGIX = epoxy_glXQueryMaxSwapBarriersSGIX_dispatch_table_thunk;
4522    epoxy_glXQueryMaxSwapGroupsNV = epoxy_glXQueryMaxSwapGroupsNV_dispatch_table_thunk;
4523    epoxy_glXQueryRendererIntegerMESA = epoxy_glXQueryRendererIntegerMESA_dispatch_table_thunk;
4524    epoxy_glXQueryRendererStringMESA = epoxy_glXQueryRendererStringMESA_dispatch_table_thunk;
4525    epoxy_glXQueryServerString = epoxy_glXQueryServerString_dispatch_table_thunk;
4526    epoxy_glXQuerySwapGroupNV = epoxy_glXQuerySwapGroupNV_dispatch_table_thunk;
4527    epoxy_glXQueryVersion = epoxy_glXQueryVersion_dispatch_table_thunk;
4528    epoxy_glXQueryVideoCaptureDeviceNV = epoxy_glXQueryVideoCaptureDeviceNV_dispatch_table_thunk;
4529    epoxy_glXReleaseBuffersMESA = epoxy_glXReleaseBuffersMESA_dispatch_table_thunk;
4530    epoxy_glXReleaseTexImageEXT = epoxy_glXReleaseTexImageEXT_dispatch_table_thunk;
4531    epoxy_glXReleaseVideoCaptureDeviceNV = epoxy_glXReleaseVideoCaptureDeviceNV_dispatch_table_thunk;
4532    epoxy_glXReleaseVideoDeviceNV = epoxy_glXReleaseVideoDeviceNV_dispatch_table_thunk;
4533    epoxy_glXReleaseVideoImageNV = epoxy_glXReleaseVideoImageNV_dispatch_table_thunk;
4534    epoxy_glXResetFrameCountNV = epoxy_glXResetFrameCountNV_dispatch_table_thunk;
4535    epoxy_glXSelectEvent = epoxy_glXSelectEvent_dispatch_table_thunk;
4536    epoxy_glXSelectEventSGIX = epoxy_glXSelectEventSGIX_dispatch_table_thunk;
4537    epoxy_glXSendPbufferToVideoNV = epoxy_glXSendPbufferToVideoNV_dispatch_table_thunk;
4538    epoxy_glXSet3DfxModeMESA = epoxy_glXSet3DfxModeMESA_dispatch_table_thunk;
4539    epoxy_glXSwapBuffers = epoxy_glXSwapBuffers_dispatch_table_thunk;
4540    epoxy_glXSwapBuffersMscOML = epoxy_glXSwapBuffersMscOML_dispatch_table_thunk;
4541    epoxy_glXSwapIntervalEXT = epoxy_glXSwapIntervalEXT_dispatch_table_thunk;
4542    epoxy_glXSwapIntervalSGI = epoxy_glXSwapIntervalSGI_dispatch_table_thunk;
4543    epoxy_glXUseXFont = epoxy_glXUseXFont_dispatch_table_thunk;
4544    epoxy_glXWaitForMscOML = epoxy_glXWaitForMscOML_dispatch_table_thunk;
4545    epoxy_glXWaitForSbcOML = epoxy_glXWaitForSbcOML_dispatch_table_thunk;
4546    epoxy_glXWaitGL = epoxy_glXWaitGL_dispatch_table_thunk;
4547    epoxy_glXWaitVideoSyncSGI = epoxy_glXWaitVideoSyncSGI_dispatch_table_thunk;
4548    epoxy_glXWaitX = epoxy_glXWaitX_dispatch_table_thunk;
4549}
4550
4551#endif /* !USING_DISPATCH_TABLE */
4552PFNGLXBINDCHANNELTOWINDOWSGIXPROC epoxy_glXBindChannelToWindowSGIX = epoxy_glXBindChannelToWindowSGIX_global_rewrite_ptr;
4553
4554PFNGLXBINDHYPERPIPESGIXPROC epoxy_glXBindHyperpipeSGIX = epoxy_glXBindHyperpipeSGIX_global_rewrite_ptr;
4555
4556PFNGLXBINDSWAPBARRIERNVPROC epoxy_glXBindSwapBarrierNV = epoxy_glXBindSwapBarrierNV_global_rewrite_ptr;
4557
4558PFNGLXBINDSWAPBARRIERSGIXPROC epoxy_glXBindSwapBarrierSGIX = epoxy_glXBindSwapBarrierSGIX_global_rewrite_ptr;
4559
4560PFNGLXBINDTEXIMAGEEXTPROC epoxy_glXBindTexImageEXT = epoxy_glXBindTexImageEXT_global_rewrite_ptr;
4561
4562PFNGLXBINDVIDEOCAPTUREDEVICENVPROC epoxy_glXBindVideoCaptureDeviceNV = epoxy_glXBindVideoCaptureDeviceNV_global_rewrite_ptr;
4563
4564PFNGLXBINDVIDEODEVICENVPROC epoxy_glXBindVideoDeviceNV = epoxy_glXBindVideoDeviceNV_global_rewrite_ptr;
4565
4566PFNGLXBINDVIDEOIMAGENVPROC epoxy_glXBindVideoImageNV = epoxy_glXBindVideoImageNV_global_rewrite_ptr;
4567
4568PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC epoxy_glXBlitContextFramebufferAMD = epoxy_glXBlitContextFramebufferAMD_global_rewrite_ptr;
4569
4570PFNGLXCHANNELRECTSGIXPROC epoxy_glXChannelRectSGIX = epoxy_glXChannelRectSGIX_global_rewrite_ptr;
4571
4572PFNGLXCHANNELRECTSYNCSGIXPROC epoxy_glXChannelRectSyncSGIX = epoxy_glXChannelRectSyncSGIX_global_rewrite_ptr;
4573
4574PFNGLXCHOOSEFBCONFIGPROC epoxy_glXChooseFBConfig = epoxy_glXChooseFBConfig_global_rewrite_ptr;
4575
4576PFNGLXCHOOSEFBCONFIGSGIXPROC epoxy_glXChooseFBConfigSGIX = epoxy_glXChooseFBConfigSGIX_global_rewrite_ptr;
4577
4578PFNGLXCHOOSEVISUALPROC epoxy_glXChooseVisual = epoxy_glXChooseVisual_global_rewrite_ptr;
4579
4580PFNGLXCOPYBUFFERSUBDATANVPROC epoxy_glXCopyBufferSubDataNV = epoxy_glXCopyBufferSubDataNV_global_rewrite_ptr;
4581
4582PFNGLXCOPYCONTEXTPROC epoxy_glXCopyContext = epoxy_glXCopyContext_global_rewrite_ptr;
4583
4584PFNGLXCOPYIMAGESUBDATANVPROC epoxy_glXCopyImageSubDataNV = epoxy_glXCopyImageSubDataNV_global_rewrite_ptr;
4585
4586PFNGLXCOPYSUBBUFFERMESAPROC epoxy_glXCopySubBufferMESA = epoxy_glXCopySubBufferMESA_global_rewrite_ptr;
4587
4588PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC epoxy_glXCreateAssociatedContextAMD = epoxy_glXCreateAssociatedContextAMD_global_rewrite_ptr;
4589
4590PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC epoxy_glXCreateAssociatedContextAttribsAMD = epoxy_glXCreateAssociatedContextAttribsAMD_global_rewrite_ptr;
4591
4592PFNGLXCREATECONTEXTPROC epoxy_glXCreateContext = epoxy_glXCreateContext_global_rewrite_ptr;
4593
4594PFNGLXCREATECONTEXTATTRIBSARBPROC epoxy_glXCreateContextAttribsARB = epoxy_glXCreateContextAttribsARB_global_rewrite_ptr;
4595
4596PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC epoxy_glXCreateContextWithConfigSGIX = epoxy_glXCreateContextWithConfigSGIX_global_rewrite_ptr;
4597
4598PFNGLXCREATEGLXPBUFFERSGIXPROC epoxy_glXCreateGLXPbufferSGIX = epoxy_glXCreateGLXPbufferSGIX_global_rewrite_ptr;
4599
4600PFNGLXCREATEGLXPIXMAPPROC epoxy_glXCreateGLXPixmap = epoxy_glXCreateGLXPixmap_global_rewrite_ptr;
4601
4602PFNGLXCREATEGLXPIXMAPMESAPROC epoxy_glXCreateGLXPixmapMESA = epoxy_glXCreateGLXPixmapMESA_global_rewrite_ptr;
4603
4604PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC epoxy_glXCreateGLXPixmapWithConfigSGIX = epoxy_glXCreateGLXPixmapWithConfigSGIX_global_rewrite_ptr;
4605
4606PFNGLXCREATENEWCONTEXTPROC epoxy_glXCreateNewContext = epoxy_glXCreateNewContext_global_rewrite_ptr;
4607
4608PFNGLXCREATEPBUFFERPROC epoxy_glXCreatePbuffer = epoxy_glXCreatePbuffer_global_rewrite_ptr;
4609
4610PFNGLXCREATEPIXMAPPROC epoxy_glXCreatePixmap = epoxy_glXCreatePixmap_global_rewrite_ptr;
4611
4612PFNGLXCREATEWINDOWPROC epoxy_glXCreateWindow = epoxy_glXCreateWindow_global_rewrite_ptr;
4613
4614PFNGLXCUSHIONSGIPROC epoxy_glXCushionSGI = epoxy_glXCushionSGI_global_rewrite_ptr;
4615
4616PFNGLXDELAYBEFORESWAPNVPROC epoxy_glXDelayBeforeSwapNV = epoxy_glXDelayBeforeSwapNV_global_rewrite_ptr;
4617
4618PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC epoxy_glXDeleteAssociatedContextAMD = epoxy_glXDeleteAssociatedContextAMD_global_rewrite_ptr;
4619
4620PFNGLXDESTROYCONTEXTPROC epoxy_glXDestroyContext = epoxy_glXDestroyContext_global_rewrite_ptr;
4621
4622PFNGLXDESTROYGLXPBUFFERSGIXPROC epoxy_glXDestroyGLXPbufferSGIX = epoxy_glXDestroyGLXPbufferSGIX_global_rewrite_ptr;
4623
4624PFNGLXDESTROYGLXPIXMAPPROC epoxy_glXDestroyGLXPixmap = epoxy_glXDestroyGLXPixmap_global_rewrite_ptr;
4625
4626PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC epoxy_glXDestroyGLXVideoSourceSGIX = epoxy_glXDestroyGLXVideoSourceSGIX_global_rewrite_ptr;
4627
4628PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC epoxy_glXDestroyHyperpipeConfigSGIX = epoxy_glXDestroyHyperpipeConfigSGIX_global_rewrite_ptr;
4629
4630PFNGLXDESTROYPBUFFERPROC epoxy_glXDestroyPbuffer = epoxy_glXDestroyPbuffer_global_rewrite_ptr;
4631
4632PFNGLXDESTROYPIXMAPPROC epoxy_glXDestroyPixmap = epoxy_glXDestroyPixmap_global_rewrite_ptr;
4633
4634PFNGLXDESTROYWINDOWPROC epoxy_glXDestroyWindow = epoxy_glXDestroyWindow_global_rewrite_ptr;
4635
4636PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC epoxy_glXEnumerateVideoCaptureDevicesNV = epoxy_glXEnumerateVideoCaptureDevicesNV_global_rewrite_ptr;
4637
4638PFNGLXENUMERATEVIDEODEVICESNVPROC epoxy_glXEnumerateVideoDevicesNV = epoxy_glXEnumerateVideoDevicesNV_global_rewrite_ptr;
4639
4640PFNGLXFREECONTEXTEXTPROC epoxy_glXFreeContextEXT = epoxy_glXFreeContextEXT_global_rewrite_ptr;
4641
4642PFNGLXGETAGPOFFSETMESAPROC epoxy_glXGetAGPOffsetMESA = epoxy_glXGetAGPOffsetMESA_global_rewrite_ptr;
4643
4644PFNGLXGETCLIENTSTRINGPROC epoxy_glXGetClientString = epoxy_glXGetClientString_global_rewrite_ptr;
4645
4646PFNGLXGETCONFIGPROC epoxy_glXGetConfig = epoxy_glXGetConfig_global_rewrite_ptr;
4647
4648PFNGLXGETCONTEXTGPUIDAMDPROC epoxy_glXGetContextGPUIDAMD = epoxy_glXGetContextGPUIDAMD_global_rewrite_ptr;
4649
4650PFNGLXGETCONTEXTIDEXTPROC epoxy_glXGetContextIDEXT = epoxy_glXGetContextIDEXT_global_rewrite_ptr;
4651
4652PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC epoxy_glXGetCurrentAssociatedContextAMD = epoxy_glXGetCurrentAssociatedContextAMD_global_rewrite_ptr;
4653
4654PFNGLXGETCURRENTCONTEXTPROC epoxy_glXGetCurrentContext = epoxy_glXGetCurrentContext_global_rewrite_ptr;
4655
4656PFNGLXGETCURRENTDISPLAYPROC epoxy_glXGetCurrentDisplay = epoxy_glXGetCurrentDisplay_global_rewrite_ptr;
4657
4658PFNGLXGETCURRENTDISPLAYEXTPROC epoxy_glXGetCurrentDisplayEXT = epoxy_glXGetCurrentDisplayEXT_global_rewrite_ptr;
4659
4660PFNGLXGETCURRENTDRAWABLEPROC epoxy_glXGetCurrentDrawable = epoxy_glXGetCurrentDrawable_global_rewrite_ptr;
4661
4662PFNGLXGETCURRENTREADDRAWABLEPROC epoxy_glXGetCurrentReadDrawable = epoxy_glXGetCurrentReadDrawable_global_rewrite_ptr;
4663
4664PFNGLXGETCURRENTREADDRAWABLESGIPROC epoxy_glXGetCurrentReadDrawableSGI = epoxy_glXGetCurrentReadDrawableSGI_global_rewrite_ptr;
4665
4666PFNGLXGETFBCONFIGATTRIBPROC epoxy_glXGetFBConfigAttrib = epoxy_glXGetFBConfigAttrib_global_rewrite_ptr;
4667
4668PFNGLXGETFBCONFIGATTRIBSGIXPROC epoxy_glXGetFBConfigAttribSGIX = epoxy_glXGetFBConfigAttribSGIX_global_rewrite_ptr;
4669
4670PFNGLXGETFBCONFIGFROMVISUALSGIXPROC epoxy_glXGetFBConfigFromVisualSGIX = epoxy_glXGetFBConfigFromVisualSGIX_global_rewrite_ptr;
4671
4672PFNGLXGETFBCONFIGSPROC epoxy_glXGetFBConfigs = epoxy_glXGetFBConfigs_global_rewrite_ptr;
4673
4674PFNGLXGETGPUIDSAMDPROC epoxy_glXGetGPUIDsAMD = epoxy_glXGetGPUIDsAMD_global_rewrite_ptr;
4675
4676PFNGLXGETGPUINFOAMDPROC epoxy_glXGetGPUInfoAMD = epoxy_glXGetGPUInfoAMD_global_rewrite_ptr;
4677
4678PFNGLXGETMSCRATEOMLPROC epoxy_glXGetMscRateOML = epoxy_glXGetMscRateOML_global_rewrite_ptr;
4679
4680PFNGLXGETPROCADDRESSPROC epoxy_glXGetProcAddress = epoxy_glXGetProcAddress_global_rewrite_ptr;
4681
4682PFNGLXGETPROCADDRESSARBPROC epoxy_glXGetProcAddressARB = epoxy_glXGetProcAddressARB_global_rewrite_ptr;
4683
4684PFNGLXGETSELECTEDEVENTPROC epoxy_glXGetSelectedEvent = epoxy_glXGetSelectedEvent_global_rewrite_ptr;
4685
4686PFNGLXGETSELECTEDEVENTSGIXPROC epoxy_glXGetSelectedEventSGIX = epoxy_glXGetSelectedEventSGIX_global_rewrite_ptr;
4687
4688PFNGLXGETSYNCVALUESOMLPROC epoxy_glXGetSyncValuesOML = epoxy_glXGetSyncValuesOML_global_rewrite_ptr;
4689
4690PFNGLXGETTRANSPARENTINDEXSUNPROC epoxy_glXGetTransparentIndexSUN = epoxy_glXGetTransparentIndexSUN_global_rewrite_ptr;
4691
4692PFNGLXGETVIDEODEVICENVPROC epoxy_glXGetVideoDeviceNV = epoxy_glXGetVideoDeviceNV_global_rewrite_ptr;
4693
4694PFNGLXGETVIDEOINFONVPROC epoxy_glXGetVideoInfoNV = epoxy_glXGetVideoInfoNV_global_rewrite_ptr;
4695
4696PFNGLXGETVIDEOSYNCSGIPROC epoxy_glXGetVideoSyncSGI = epoxy_glXGetVideoSyncSGI_global_rewrite_ptr;
4697
4698PFNGLXGETVISUALFROMFBCONFIGPROC epoxy_glXGetVisualFromFBConfig = epoxy_glXGetVisualFromFBConfig_global_rewrite_ptr;
4699
4700PFNGLXGETVISUALFROMFBCONFIGSGIXPROC epoxy_glXGetVisualFromFBConfigSGIX = epoxy_glXGetVisualFromFBConfigSGIX_global_rewrite_ptr;
4701
4702PFNGLXHYPERPIPEATTRIBSGIXPROC epoxy_glXHyperpipeAttribSGIX = epoxy_glXHyperpipeAttribSGIX_global_rewrite_ptr;
4703
4704PFNGLXHYPERPIPECONFIGSGIXPROC epoxy_glXHyperpipeConfigSGIX = epoxy_glXHyperpipeConfigSGIX_global_rewrite_ptr;
4705
4706PFNGLXIMPORTCONTEXTEXTPROC epoxy_glXImportContextEXT = epoxy_glXImportContextEXT_global_rewrite_ptr;
4707
4708PFNGLXISDIRECTPROC epoxy_glXIsDirect = epoxy_glXIsDirect_global_rewrite_ptr;
4709
4710PFNGLXJOINSWAPGROUPNVPROC epoxy_glXJoinSwapGroupNV = epoxy_glXJoinSwapGroupNV_global_rewrite_ptr;
4711
4712PFNGLXJOINSWAPGROUPSGIXPROC epoxy_glXJoinSwapGroupSGIX = epoxy_glXJoinSwapGroupSGIX_global_rewrite_ptr;
4713
4714PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC epoxy_glXLockVideoCaptureDeviceNV = epoxy_glXLockVideoCaptureDeviceNV_global_rewrite_ptr;
4715
4716PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC epoxy_glXMakeAssociatedContextCurrentAMD = epoxy_glXMakeAssociatedContextCurrentAMD_global_rewrite_ptr;
4717
4718PFNGLXMAKECONTEXTCURRENTPROC epoxy_glXMakeContextCurrent = epoxy_glXMakeContextCurrent_global_rewrite_ptr;
4719
4720PFNGLXMAKECURRENTPROC epoxy_glXMakeCurrent = epoxy_glXMakeCurrent_global_rewrite_ptr;
4721
4722PFNGLXMAKECURRENTREADSGIPROC epoxy_glXMakeCurrentReadSGI = epoxy_glXMakeCurrentReadSGI_global_rewrite_ptr;
4723
4724PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC epoxy_glXNamedCopyBufferSubDataNV = epoxy_glXNamedCopyBufferSubDataNV_global_rewrite_ptr;
4725
4726PFNGLXQUERYCHANNELDELTASSGIXPROC epoxy_glXQueryChannelDeltasSGIX = epoxy_glXQueryChannelDeltasSGIX_global_rewrite_ptr;
4727
4728PFNGLXQUERYCHANNELRECTSGIXPROC epoxy_glXQueryChannelRectSGIX = epoxy_glXQueryChannelRectSGIX_global_rewrite_ptr;
4729
4730PFNGLXQUERYCONTEXTPROC epoxy_glXQueryContext = epoxy_glXQueryContext_global_rewrite_ptr;
4731
4732PFNGLXQUERYCONTEXTINFOEXTPROC epoxy_glXQueryContextInfoEXT = epoxy_glXQueryContextInfoEXT_global_rewrite_ptr;
4733
4734PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC epoxy_glXQueryCurrentRendererIntegerMESA = epoxy_glXQueryCurrentRendererIntegerMESA_global_rewrite_ptr;
4735
4736PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC epoxy_glXQueryCurrentRendererStringMESA = epoxy_glXQueryCurrentRendererStringMESA_global_rewrite_ptr;
4737
4738PFNGLXQUERYDRAWABLEPROC epoxy_glXQueryDrawable = epoxy_glXQueryDrawable_global_rewrite_ptr;
4739
4740PFNGLXQUERYEXTENSIONPROC epoxy_glXQueryExtension = epoxy_glXQueryExtension_global_rewrite_ptr;
4741
4742PFNGLXQUERYEXTENSIONSSTRINGPROC epoxy_glXQueryExtensionsString = epoxy_glXQueryExtensionsString_global_rewrite_ptr;
4743
4744PFNGLXQUERYFRAMECOUNTNVPROC epoxy_glXQueryFrameCountNV = epoxy_glXQueryFrameCountNV_global_rewrite_ptr;
4745
4746PFNGLXQUERYGLXPBUFFERSGIXPROC epoxy_glXQueryGLXPbufferSGIX = epoxy_glXQueryGLXPbufferSGIX_global_rewrite_ptr;
4747
4748PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC epoxy_glXQueryHyperpipeAttribSGIX = epoxy_glXQueryHyperpipeAttribSGIX_global_rewrite_ptr;
4749
4750PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC epoxy_glXQueryHyperpipeBestAttribSGIX = epoxy_glXQueryHyperpipeBestAttribSGIX_global_rewrite_ptr;
4751
4752PFNGLXQUERYHYPERPIPECONFIGSGIXPROC epoxy_glXQueryHyperpipeConfigSGIX = epoxy_glXQueryHyperpipeConfigSGIX_global_rewrite_ptr;
4753
4754PFNGLXQUERYHYPERPIPENETWORKSGIXPROC epoxy_glXQueryHyperpipeNetworkSGIX = epoxy_glXQueryHyperpipeNetworkSGIX_global_rewrite_ptr;
4755
4756PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC epoxy_glXQueryMaxSwapBarriersSGIX = epoxy_glXQueryMaxSwapBarriersSGIX_global_rewrite_ptr;
4757
4758PFNGLXQUERYMAXSWAPGROUPSNVPROC epoxy_glXQueryMaxSwapGroupsNV = epoxy_glXQueryMaxSwapGroupsNV_global_rewrite_ptr;
4759
4760PFNGLXQUERYRENDERERINTEGERMESAPROC epoxy_glXQueryRendererIntegerMESA = epoxy_glXQueryRendererIntegerMESA_global_rewrite_ptr;
4761
4762PFNGLXQUERYRENDERERSTRINGMESAPROC epoxy_glXQueryRendererStringMESA = epoxy_glXQueryRendererStringMESA_global_rewrite_ptr;
4763
4764PFNGLXQUERYSERVERSTRINGPROC epoxy_glXQueryServerString = epoxy_glXQueryServerString_global_rewrite_ptr;
4765
4766PFNGLXQUERYSWAPGROUPNVPROC epoxy_glXQuerySwapGroupNV = epoxy_glXQuerySwapGroupNV_global_rewrite_ptr;
4767
4768PFNGLXQUERYVERSIONPROC epoxy_glXQueryVersion = epoxy_glXQueryVersion_global_rewrite_ptr;
4769
4770PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC epoxy_glXQueryVideoCaptureDeviceNV = epoxy_glXQueryVideoCaptureDeviceNV_global_rewrite_ptr;
4771
4772PFNGLXRELEASEBUFFERSMESAPROC epoxy_glXReleaseBuffersMESA = epoxy_glXReleaseBuffersMESA_global_rewrite_ptr;
4773
4774PFNGLXRELEASETEXIMAGEEXTPROC epoxy_glXReleaseTexImageEXT = epoxy_glXReleaseTexImageEXT_global_rewrite_ptr;
4775
4776PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC epoxy_glXReleaseVideoCaptureDeviceNV = epoxy_glXReleaseVideoCaptureDeviceNV_global_rewrite_ptr;
4777
4778PFNGLXRELEASEVIDEODEVICENVPROC epoxy_glXReleaseVideoDeviceNV = epoxy_glXReleaseVideoDeviceNV_global_rewrite_ptr;
4779
4780PFNGLXRELEASEVIDEOIMAGENVPROC epoxy_glXReleaseVideoImageNV = epoxy_glXReleaseVideoImageNV_global_rewrite_ptr;
4781
4782PFNGLXRESETFRAMECOUNTNVPROC epoxy_glXResetFrameCountNV = epoxy_glXResetFrameCountNV_global_rewrite_ptr;
4783
4784PFNGLXSELECTEVENTPROC epoxy_glXSelectEvent = epoxy_glXSelectEvent_global_rewrite_ptr;
4785
4786PFNGLXSELECTEVENTSGIXPROC epoxy_glXSelectEventSGIX = epoxy_glXSelectEventSGIX_global_rewrite_ptr;
4787
4788PFNGLXSENDPBUFFERTOVIDEONVPROC epoxy_glXSendPbufferToVideoNV = epoxy_glXSendPbufferToVideoNV_global_rewrite_ptr;
4789
4790PFNGLXSET3DFXMODEMESAPROC epoxy_glXSet3DfxModeMESA = epoxy_glXSet3DfxModeMESA_global_rewrite_ptr;
4791
4792PFNGLXSWAPBUFFERSPROC epoxy_glXSwapBuffers = epoxy_glXSwapBuffers_global_rewrite_ptr;
4793
4794PFNGLXSWAPBUFFERSMSCOMLPROC epoxy_glXSwapBuffersMscOML = epoxy_glXSwapBuffersMscOML_global_rewrite_ptr;
4795
4796PFNGLXSWAPINTERVALEXTPROC epoxy_glXSwapIntervalEXT = epoxy_glXSwapIntervalEXT_global_rewrite_ptr;
4797
4798PFNGLXSWAPINTERVALSGIPROC epoxy_glXSwapIntervalSGI = epoxy_glXSwapIntervalSGI_global_rewrite_ptr;
4799
4800PFNGLXUSEXFONTPROC epoxy_glXUseXFont = epoxy_glXUseXFont_global_rewrite_ptr;
4801
4802PFNGLXWAITFORMSCOMLPROC epoxy_glXWaitForMscOML = epoxy_glXWaitForMscOML_global_rewrite_ptr;
4803
4804PFNGLXWAITFORSBCOMLPROC epoxy_glXWaitForSbcOML = epoxy_glXWaitForSbcOML_global_rewrite_ptr;
4805
4806PFNGLXWAITGLPROC epoxy_glXWaitGL = epoxy_glXWaitGL_global_rewrite_ptr;
4807
4808PFNGLXWAITVIDEOSYNCSGIPROC epoxy_glXWaitVideoSyncSGI = epoxy_glXWaitVideoSyncSGI_global_rewrite_ptr;
4809
4810PFNGLXWAITXPROC epoxy_glXWaitX = epoxy_glXWaitX_global_rewrite_ptr;
4811
4812