glx_generated_dispatch.c revision e84fe556
1/* GL dispatch code.
2 * This is code-generated from the GL API XML files from Khronos.
3 */
4
5#include <stdlib.h>
6#include <string.h>
7#include <stdio.h>
8
9#include "dispatch_common.h"
10#include "epoxy/glx.h"
11
12#ifdef __GNUC__
13#define EPOXY_NOINLINE __attribute__((noinline))
14#elif defined (_MSC_VER)
15#define EPOXY_NOINLINE __declspec(noinline)
16#endif
17struct dispatch_table {
18    PFNGLXBINDCHANNELTOWINDOWSGIXPROC epoxy_glXBindChannelToWindowSGIX;
19    PFNGLXBINDHYPERPIPESGIXPROC epoxy_glXBindHyperpipeSGIX;
20    PFNGLXBINDSWAPBARRIERNVPROC epoxy_glXBindSwapBarrierNV;
21    PFNGLXBINDSWAPBARRIERSGIXPROC epoxy_glXBindSwapBarrierSGIX;
22    PFNGLXBINDTEXIMAGEEXTPROC epoxy_glXBindTexImageEXT;
23    PFNGLXBINDVIDEOCAPTUREDEVICENVPROC epoxy_glXBindVideoCaptureDeviceNV;
24    PFNGLXBINDVIDEODEVICENVPROC epoxy_glXBindVideoDeviceNV;
25    PFNGLXBINDVIDEOIMAGENVPROC epoxy_glXBindVideoImageNV;
26    PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC epoxy_glXBlitContextFramebufferAMD;
27    PFNGLXCHANNELRECTSGIXPROC epoxy_glXChannelRectSGIX;
28    PFNGLXCHANNELRECTSYNCSGIXPROC epoxy_glXChannelRectSyncSGIX;
29    PFNGLXCHOOSEFBCONFIGPROC epoxy_glXChooseFBConfig;
30    PFNGLXCHOOSEFBCONFIGSGIXPROC epoxy_glXChooseFBConfigSGIX;
31    PFNGLXCHOOSEVISUALPROC epoxy_glXChooseVisual;
32    PFNGLXCOPYBUFFERSUBDATANVPROC epoxy_glXCopyBufferSubDataNV;
33    PFNGLXCOPYCONTEXTPROC epoxy_glXCopyContext;
34    PFNGLXCOPYIMAGESUBDATANVPROC epoxy_glXCopyImageSubDataNV;
35    PFNGLXCOPYSUBBUFFERMESAPROC epoxy_glXCopySubBufferMESA;
36    PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC epoxy_glXCreateAssociatedContextAMD;
37    PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC epoxy_glXCreateAssociatedContextAttribsAMD;
38    PFNGLXCREATECONTEXTPROC epoxy_glXCreateContext;
39    PFNGLXCREATECONTEXTATTRIBSARBPROC epoxy_glXCreateContextAttribsARB;
40    PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC epoxy_glXCreateContextWithConfigSGIX;
41    PFNGLXCREATEGLXPBUFFERSGIXPROC epoxy_glXCreateGLXPbufferSGIX;
42    PFNGLXCREATEGLXPIXMAPPROC epoxy_glXCreateGLXPixmap;
43    PFNGLXCREATEGLXPIXMAPMESAPROC epoxy_glXCreateGLXPixmapMESA;
44    PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC epoxy_glXCreateGLXPixmapWithConfigSGIX;
45    PFNGLXCREATENEWCONTEXTPROC epoxy_glXCreateNewContext;
46    PFNGLXCREATEPBUFFERPROC epoxy_glXCreatePbuffer;
47    PFNGLXCREATEPIXMAPPROC epoxy_glXCreatePixmap;
48    PFNGLXCREATEWINDOWPROC epoxy_glXCreateWindow;
49    PFNGLXCUSHIONSGIPROC epoxy_glXCushionSGI;
50    PFNGLXDELAYBEFORESWAPNVPROC epoxy_glXDelayBeforeSwapNV;
51    PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC epoxy_glXDeleteAssociatedContextAMD;
52    PFNGLXDESTROYCONTEXTPROC epoxy_glXDestroyContext;
53    PFNGLXDESTROYGLXPBUFFERSGIXPROC epoxy_glXDestroyGLXPbufferSGIX;
54    PFNGLXDESTROYGLXPIXMAPPROC epoxy_glXDestroyGLXPixmap;
55    PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC epoxy_glXDestroyGLXVideoSourceSGIX;
56    PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC epoxy_glXDestroyHyperpipeConfigSGIX;
57    PFNGLXDESTROYPBUFFERPROC epoxy_glXDestroyPbuffer;
58    PFNGLXDESTROYPIXMAPPROC epoxy_glXDestroyPixmap;
59    PFNGLXDESTROYWINDOWPROC epoxy_glXDestroyWindow;
60    PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC epoxy_glXEnumerateVideoCaptureDevicesNV;
61    PFNGLXENUMERATEVIDEODEVICESNVPROC epoxy_glXEnumerateVideoDevicesNV;
62    PFNGLXFREECONTEXTEXTPROC epoxy_glXFreeContextEXT;
63    PFNGLXGETAGPOFFSETMESAPROC epoxy_glXGetAGPOffsetMESA;
64    PFNGLXGETCLIENTSTRINGPROC epoxy_glXGetClientString;
65    PFNGLXGETCONFIGPROC epoxy_glXGetConfig;
66    PFNGLXGETCONTEXTGPUIDAMDPROC epoxy_glXGetContextGPUIDAMD;
67    PFNGLXGETCONTEXTIDEXTPROC epoxy_glXGetContextIDEXT;
68    PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC epoxy_glXGetCurrentAssociatedContextAMD;
69    PFNGLXGETCURRENTCONTEXTPROC epoxy_glXGetCurrentContext;
70    PFNGLXGETCURRENTDISPLAYPROC epoxy_glXGetCurrentDisplay;
71    PFNGLXGETCURRENTDISPLAYEXTPROC epoxy_glXGetCurrentDisplayEXT;
72    PFNGLXGETCURRENTDRAWABLEPROC epoxy_glXGetCurrentDrawable;
73    PFNGLXGETCURRENTREADDRAWABLEPROC epoxy_glXGetCurrentReadDrawable;
74    PFNGLXGETCURRENTREADDRAWABLESGIPROC epoxy_glXGetCurrentReadDrawableSGI;
75    PFNGLXGETFBCONFIGATTRIBPROC epoxy_glXGetFBConfigAttrib;
76    PFNGLXGETFBCONFIGATTRIBSGIXPROC epoxy_glXGetFBConfigAttribSGIX;
77    PFNGLXGETFBCONFIGFROMVISUALSGIXPROC epoxy_glXGetFBConfigFromVisualSGIX;
78    PFNGLXGETFBCONFIGSPROC epoxy_glXGetFBConfigs;
79    PFNGLXGETGPUIDSAMDPROC epoxy_glXGetGPUIDsAMD;
80    PFNGLXGETGPUINFOAMDPROC epoxy_glXGetGPUInfoAMD;
81    PFNGLXGETMSCRATEOMLPROC epoxy_glXGetMscRateOML;
82    PFNGLXGETPROCADDRESSPROC epoxy_glXGetProcAddress;
83    PFNGLXGETPROCADDRESSARBPROC epoxy_glXGetProcAddressARB;
84    PFNGLXGETSELECTEDEVENTPROC epoxy_glXGetSelectedEvent;
85    PFNGLXGETSELECTEDEVENTSGIXPROC epoxy_glXGetSelectedEventSGIX;
86    PFNGLXGETSYNCVALUESOMLPROC epoxy_glXGetSyncValuesOML;
87    PFNGLXGETTRANSPARENTINDEXSUNPROC epoxy_glXGetTransparentIndexSUN;
88    PFNGLXGETVIDEODEVICENVPROC epoxy_glXGetVideoDeviceNV;
89    PFNGLXGETVIDEOINFONVPROC epoxy_glXGetVideoInfoNV;
90    PFNGLXGETVIDEOSYNCSGIPROC epoxy_glXGetVideoSyncSGI;
91    PFNGLXGETVISUALFROMFBCONFIGPROC epoxy_glXGetVisualFromFBConfig;
92    PFNGLXGETVISUALFROMFBCONFIGSGIXPROC epoxy_glXGetVisualFromFBConfigSGIX;
93    PFNGLXHYPERPIPEATTRIBSGIXPROC epoxy_glXHyperpipeAttribSGIX;
94    PFNGLXHYPERPIPECONFIGSGIXPROC epoxy_glXHyperpipeConfigSGIX;
95    PFNGLXIMPORTCONTEXTEXTPROC epoxy_glXImportContextEXT;
96    PFNGLXISDIRECTPROC epoxy_glXIsDirect;
97    PFNGLXJOINSWAPGROUPNVPROC epoxy_glXJoinSwapGroupNV;
98    PFNGLXJOINSWAPGROUPSGIXPROC epoxy_glXJoinSwapGroupSGIX;
99    PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC epoxy_glXLockVideoCaptureDeviceNV;
100    PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC epoxy_glXMakeAssociatedContextCurrentAMD;
101    PFNGLXMAKECONTEXTCURRENTPROC epoxy_glXMakeContextCurrent;
102    PFNGLXMAKECURRENTPROC epoxy_glXMakeCurrent;
103    PFNGLXMAKECURRENTREADSGIPROC epoxy_glXMakeCurrentReadSGI;
104    PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC epoxy_glXNamedCopyBufferSubDataNV;
105    PFNGLXQUERYCHANNELDELTASSGIXPROC epoxy_glXQueryChannelDeltasSGIX;
106    PFNGLXQUERYCHANNELRECTSGIXPROC epoxy_glXQueryChannelRectSGIX;
107    PFNGLXQUERYCONTEXTPROC epoxy_glXQueryContext;
108    PFNGLXQUERYCONTEXTINFOEXTPROC epoxy_glXQueryContextInfoEXT;
109    PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC epoxy_glXQueryCurrentRendererIntegerMESA;
110    PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC epoxy_glXQueryCurrentRendererStringMESA;
111    PFNGLXQUERYDRAWABLEPROC epoxy_glXQueryDrawable;
112    PFNGLXQUERYEXTENSIONPROC epoxy_glXQueryExtension;
113    PFNGLXQUERYEXTENSIONSSTRINGPROC epoxy_glXQueryExtensionsString;
114    PFNGLXQUERYFRAMECOUNTNVPROC epoxy_glXQueryFrameCountNV;
115    PFNGLXQUERYGLXPBUFFERSGIXPROC epoxy_glXQueryGLXPbufferSGIX;
116    PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC epoxy_glXQueryHyperpipeAttribSGIX;
117    PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC epoxy_glXQueryHyperpipeBestAttribSGIX;
118    PFNGLXQUERYHYPERPIPECONFIGSGIXPROC epoxy_glXQueryHyperpipeConfigSGIX;
119    PFNGLXQUERYHYPERPIPENETWORKSGIXPROC epoxy_glXQueryHyperpipeNetworkSGIX;
120    PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC epoxy_glXQueryMaxSwapBarriersSGIX;
121    PFNGLXQUERYMAXSWAPGROUPSNVPROC epoxy_glXQueryMaxSwapGroupsNV;
122    PFNGLXQUERYRENDERERINTEGERMESAPROC epoxy_glXQueryRendererIntegerMESA;
123    PFNGLXQUERYRENDERERSTRINGMESAPROC epoxy_glXQueryRendererStringMESA;
124    PFNGLXQUERYSERVERSTRINGPROC epoxy_glXQueryServerString;
125    PFNGLXQUERYSWAPGROUPNVPROC epoxy_glXQuerySwapGroupNV;
126    PFNGLXQUERYVERSIONPROC epoxy_glXQueryVersion;
127    PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC epoxy_glXQueryVideoCaptureDeviceNV;
128    PFNGLXRELEASEBUFFERSMESAPROC epoxy_glXReleaseBuffersMESA;
129    PFNGLXRELEASETEXIMAGEEXTPROC epoxy_glXReleaseTexImageEXT;
130    PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC epoxy_glXReleaseVideoCaptureDeviceNV;
131    PFNGLXRELEASEVIDEODEVICENVPROC epoxy_glXReleaseVideoDeviceNV;
132    PFNGLXRELEASEVIDEOIMAGENVPROC epoxy_glXReleaseVideoImageNV;
133    PFNGLXRESETFRAMECOUNTNVPROC epoxy_glXResetFrameCountNV;
134    PFNGLXSELECTEVENTPROC epoxy_glXSelectEvent;
135    PFNGLXSELECTEVENTSGIXPROC epoxy_glXSelectEventSGIX;
136    PFNGLXSENDPBUFFERTOVIDEONVPROC epoxy_glXSendPbufferToVideoNV;
137    PFNGLXSET3DFXMODEMESAPROC epoxy_glXSet3DfxModeMESA;
138    PFNGLXSWAPBUFFERSPROC epoxy_glXSwapBuffers;
139    PFNGLXSWAPBUFFERSMSCOMLPROC epoxy_glXSwapBuffersMscOML;
140    PFNGLXSWAPINTERVALEXTPROC epoxy_glXSwapIntervalEXT;
141    PFNGLXSWAPINTERVALSGIPROC epoxy_glXSwapIntervalSGI;
142    PFNGLXUSEXFONTPROC epoxy_glXUseXFont;
143    PFNGLXWAITFORMSCOMLPROC epoxy_glXWaitForMscOML;
144    PFNGLXWAITFORSBCOMLPROC epoxy_glXWaitForSbcOML;
145    PFNGLXWAITGLPROC epoxy_glXWaitGL;
146    PFNGLXWAITVIDEOSYNCSGIPROC epoxy_glXWaitVideoSyncSGI;
147    PFNGLXWAITXPROC epoxy_glXWaitX;
148};
149
150#if USING_DISPATCH_TABLE
151static inline struct dispatch_table *
152get_dispatch_table(void);
153
154#endif
155enum glx_provider {
156    glx_provider_terminator = 0,
157    GLX_10,
158    GLX_11,
159    GLX_12,
160    GLX_13,
161    GLX_extension_GLX_AMD_gpu_association,
162    GLX_extension_GLX_ARB_create_context,
163    GLX_extension_GLX_ARB_get_proc_address,
164    GLX_extension_GLX_EXT_import_context,
165    GLX_extension_GLX_EXT_swap_control,
166    GLX_extension_GLX_EXT_texture_from_pixmap,
167    GLX_extension_GLX_MESA_agp_offset,
168    GLX_extension_GLX_MESA_copy_sub_buffer,
169    GLX_extension_GLX_MESA_pixmap_colormap,
170    GLX_extension_GLX_MESA_query_renderer,
171    GLX_extension_GLX_MESA_release_buffers,
172    GLX_extension_GLX_MESA_set_3dfx_mode,
173    GLX_extension_GLX_NV_copy_buffer,
174    GLX_extension_GLX_NV_copy_image,
175    GLX_extension_GLX_NV_delay_before_swap,
176    GLX_extension_GLX_NV_present_video,
177    GLX_extension_GLX_NV_swap_group,
178    GLX_extension_GLX_NV_video_capture,
179    GLX_extension_GLX_NV_video_out,
180    GLX_extension_GLX_OML_sync_control,
181    GLX_extension_GLX_SGIX_fbconfig,
182    GLX_extension_GLX_SGIX_hyperpipe,
183    GLX_extension_GLX_SGIX_pbuffer,
184    GLX_extension_GLX_SGIX_swap_barrier,
185    GLX_extension_GLX_SGIX_swap_group,
186    GLX_extension_GLX_SGIX_video_resize,
187    GLX_extension_GLX_SGIX_video_source,
188    GLX_extension_GLX_SGI_cushion,
189    GLX_extension_GLX_SGI_make_current_read,
190    GLX_extension_GLX_SGI_swap_control,
191    GLX_extension_GLX_SGI_video_sync,
192    GLX_extension_GLX_SUN_get_transparent_index,
193    always_present,
194} PACKED;
195
196static const char *enum_string =
197    "GLX 10\0"
198    "GLX 11\0"
199    "GLX 12\0"
200    "GLX 13\0"
201    "GLX extension \"GLX_AMD_gpu_association\"\0"
202    "GLX extension \"GLX_ARB_create_context\"\0"
203    "GLX extension \"GLX_ARB_get_proc_address\"\0"
204    "GLX extension \"GLX_EXT_import_context\"\0"
205    "GLX extension \"GLX_EXT_swap_control\"\0"
206    "GLX extension \"GLX_EXT_texture_from_pixmap\"\0"
207    "GLX extension \"GLX_MESA_agp_offset\"\0"
208    "GLX extension \"GLX_MESA_copy_sub_buffer\"\0"
209    "GLX extension \"GLX_MESA_pixmap_colormap\"\0"
210    "GLX extension \"GLX_MESA_query_renderer\"\0"
211    "GLX extension \"GLX_MESA_release_buffers\"\0"
212    "GLX extension \"GLX_MESA_set_3dfx_mode\"\0"
213    "GLX extension \"GLX_NV_copy_buffer\"\0"
214    "GLX extension \"GLX_NV_copy_image\"\0"
215    "GLX extension \"GLX_NV_delay_before_swap\"\0"
216    "GLX extension \"GLX_NV_present_video\"\0"
217    "GLX extension \"GLX_NV_swap_group\"\0"
218    "GLX extension \"GLX_NV_video_capture\"\0"
219    "GLX extension \"GLX_NV_video_out\"\0"
220    "GLX extension \"GLX_OML_sync_control\"\0"
221    "GLX extension \"GLX_SGIX_fbconfig\"\0"
222    "GLX extension \"GLX_SGIX_hyperpipe\"\0"
223    "GLX extension \"GLX_SGIX_pbuffer\"\0"
224    "GLX extension \"GLX_SGIX_swap_barrier\"\0"
225    "GLX extension \"GLX_SGIX_swap_group\"\0"
226    "GLX extension \"GLX_SGIX_video_resize\"\0"
227    "GLX extension \"GLX_SGIX_video_source\"\0"
228    "GLX extension \"GLX_SGI_cushion\"\0"
229    "GLX extension \"GLX_SGI_make_current_read\"\0"
230    "GLX extension \"GLX_SGI_swap_control\"\0"
231    "GLX extension \"GLX_SGI_video_sync\"\0"
232    "GLX extension \"GLX_SUN_get_transparent_index\"\0"
233    "always present\0"
234     ;
235
236static const uint16_t enum_string_offsets[] = {
237    [GLX_10] = 0,
238    [GLX_11] = 7,
239    [GLX_12] = 14,
240    [GLX_13] = 21,
241    [GLX_extension_GLX_AMD_gpu_association] = 28,
242    [GLX_extension_GLX_ARB_create_context] = 68,
243    [GLX_extension_GLX_ARB_get_proc_address] = 107,
244    [GLX_extension_GLX_EXT_import_context] = 148,
245    [GLX_extension_GLX_EXT_swap_control] = 187,
246    [GLX_extension_GLX_EXT_texture_from_pixmap] = 224,
247    [GLX_extension_GLX_MESA_agp_offset] = 268,
248    [GLX_extension_GLX_MESA_copy_sub_buffer] = 304,
249    [GLX_extension_GLX_MESA_pixmap_colormap] = 345,
250    [GLX_extension_GLX_MESA_query_renderer] = 386,
251    [GLX_extension_GLX_MESA_release_buffers] = 426,
252    [GLX_extension_GLX_MESA_set_3dfx_mode] = 467,
253    [GLX_extension_GLX_NV_copy_buffer] = 506,
254    [GLX_extension_GLX_NV_copy_image] = 541,
255    [GLX_extension_GLX_NV_delay_before_swap] = 575,
256    [GLX_extension_GLX_NV_present_video] = 616,
257    [GLX_extension_GLX_NV_swap_group] = 653,
258    [GLX_extension_GLX_NV_video_capture] = 687,
259    [GLX_extension_GLX_NV_video_out] = 724,
260    [GLX_extension_GLX_OML_sync_control] = 757,
261    [GLX_extension_GLX_SGIX_fbconfig] = 794,
262    [GLX_extension_GLX_SGIX_hyperpipe] = 828,
263    [GLX_extension_GLX_SGIX_pbuffer] = 863,
264    [GLX_extension_GLX_SGIX_swap_barrier] = 896,
265    [GLX_extension_GLX_SGIX_swap_group] = 934,
266    [GLX_extension_GLX_SGIX_video_resize] = 970,
267    [GLX_extension_GLX_SGIX_video_source] = 1008,
268    [GLX_extension_GLX_SGI_cushion] = 1046,
269    [GLX_extension_GLX_SGI_make_current_read] = 1078,
270    [GLX_extension_GLX_SGI_swap_control] = 1120,
271    [GLX_extension_GLX_SGI_video_sync] = 1157,
272    [GLX_extension_GLX_SUN_get_transparent_index] = 1192,
273    [always_present] = 1238,
274};
275
276static const char entrypoint_strings[] =
277   "glXBindChannelToWindowSGIX\0"
278   "glXBindHyperpipeSGIX\0"
279   "glXBindSwapBarrierNV\0"
280   "glXBindSwapBarrierSGIX\0"
281   "glXBindTexImageEXT\0"
282   "glXBindVideoCaptureDeviceNV\0"
283   "glXBindVideoDeviceNV\0"
284   "glXBindVideoImageNV\0"
285   "glXBlitContextFramebufferAMD\0"
286   "glXChannelRectSGIX\0"
287   "glXChannelRectSyncSGIX\0"
288   "glXChooseFBConfig\0"
289   "glXChooseFBConfigSGIX\0"
290   "glXChooseVisual\0"
291   "glXCopyBufferSubDataNV\0"
292   "glXCopyContext\0"
293   "glXCopyImageSubDataNV\0"
294   "glXCopySubBufferMESA\0"
295   "glXCreateAssociatedContextAMD\0"
296   "glXCreateAssociatedContextAttribsAMD\0"
297   "glXCreateContext\0"
298   "glXCreateContextAttribsARB\0"
299   "glXCreateContextWithConfigSGIX\0"
300   "glXCreateGLXPbufferSGIX\0"
301   "glXCreateGLXPixmap\0"
302   "glXCreateGLXPixmapMESA\0"
303   "glXCreateGLXPixmapWithConfigSGIX\0"
304   "glXCreateNewContext\0"
305   "glXCreatePbuffer\0"
306   "glXCreatePixmap\0"
307   "glXCreateWindow\0"
308   "glXCushionSGI\0"
309   "glXDelayBeforeSwapNV\0"
310   "glXDeleteAssociatedContextAMD\0"
311   "glXDestroyContext\0"
312   "glXDestroyGLXPbufferSGIX\0"
313   "glXDestroyGLXPixmap\0"
314   "glXDestroyGLXVideoSourceSGIX\0"
315   "glXDestroyHyperpipeConfigSGIX\0"
316   "glXDestroyPbuffer\0"
317   "glXDestroyPixmap\0"
318   "glXDestroyWindow\0"
319   "glXEnumerateVideoCaptureDevicesNV\0"
320   "glXEnumerateVideoDevicesNV\0"
321   "glXFreeContextEXT\0"
322   "glXGetAGPOffsetMESA\0"
323   "glXGetClientString\0"
324   "glXGetConfig\0"
325   "glXGetContextGPUIDAMD\0"
326   "glXGetContextIDEXT\0"
327   "glXGetCurrentAssociatedContextAMD\0"
328   "glXGetCurrentContext\0"
329   "glXGetCurrentDisplay\0"
330   "glXGetCurrentDisplayEXT\0"
331   "glXGetCurrentDrawable\0"
332   "glXGetCurrentReadDrawable\0"
333   "glXGetCurrentReadDrawableSGI\0"
334   "glXGetFBConfigAttrib\0"
335   "glXGetFBConfigAttribSGIX\0"
336   "glXGetFBConfigFromVisualSGIX\0"
337   "glXGetFBConfigs\0"
338   "glXGetGPUIDsAMD\0"
339   "glXGetGPUInfoAMD\0"
340   "glXGetMscRateOML\0"
341   "glXGetProcAddress\0"
342   "glXGetProcAddressARB\0"
343   "glXGetSelectedEvent\0"
344   "glXGetSelectedEventSGIX\0"
345   "glXGetSyncValuesOML\0"
346   "glXGetTransparentIndexSUN\0"
347   "glXGetVideoDeviceNV\0"
348   "glXGetVideoInfoNV\0"
349   "glXGetVideoSyncSGI\0"
350   "glXGetVisualFromFBConfig\0"
351   "glXGetVisualFromFBConfigSGIX\0"
352   "glXHyperpipeAttribSGIX\0"
353   "glXHyperpipeConfigSGIX\0"
354   "glXImportContextEXT\0"
355   "glXIsDirect\0"
356   "glXJoinSwapGroupNV\0"
357   "glXJoinSwapGroupSGIX\0"
358   "glXLockVideoCaptureDeviceNV\0"
359   "glXMakeAssociatedContextCurrentAMD\0"
360   "glXMakeContextCurrent\0"
361   "glXMakeCurrent\0"
362   "glXMakeCurrentReadSGI\0"
363   "glXNamedCopyBufferSubDataNV\0"
364   "glXQueryChannelDeltasSGIX\0"
365   "glXQueryChannelRectSGIX\0"
366   "glXQueryContext\0"
367   "glXQueryContextInfoEXT\0"
368   "glXQueryCurrentRendererIntegerMESA\0"
369   "glXQueryCurrentRendererStringMESA\0"
370   "glXQueryDrawable\0"
371   "glXQueryExtension\0"
372   "glXQueryExtensionsString\0"
373   "glXQueryFrameCountNV\0"
374   "glXQueryGLXPbufferSGIX\0"
375   "glXQueryHyperpipeAttribSGIX\0"
376   "glXQueryHyperpipeBestAttribSGIX\0"
377   "glXQueryHyperpipeConfigSGIX\0"
378   "glXQueryHyperpipeNetworkSGIX\0"
379   "glXQueryMaxSwapBarriersSGIX\0"
380   "glXQueryMaxSwapGroupsNV\0"
381   "glXQueryRendererIntegerMESA\0"
382   "glXQueryRendererStringMESA\0"
383   "glXQueryServerString\0"
384   "glXQuerySwapGroupNV\0"
385   "glXQueryVersion\0"
386   "glXQueryVideoCaptureDeviceNV\0"
387   "glXReleaseBuffersMESA\0"
388   "glXReleaseTexImageEXT\0"
389   "glXReleaseVideoCaptureDeviceNV\0"
390   "glXReleaseVideoDeviceNV\0"
391   "glXReleaseVideoImageNV\0"
392   "glXResetFrameCountNV\0"
393   "glXSelectEvent\0"
394   "glXSelectEventSGIX\0"
395   "glXSendPbufferToVideoNV\0"
396   "glXSet3DfxModeMESA\0"
397   "glXSwapBuffers\0"
398   "glXSwapBuffersMscOML\0"
399   "glXSwapIntervalEXT\0"
400   "glXSwapIntervalSGI\0"
401   "glXUseXFont\0"
402   "glXWaitForMscOML\0"
403   "glXWaitForSbcOML\0"
404   "glXWaitGL\0"
405   "glXWaitVideoSyncSGI\0"
406   "glXWaitX\0"
407    ;
408
409static void *glx_provider_resolver(const char *name,
410                                   const enum glx_provider *providers,
411                                   const uint16_t *entrypoints)
412{
413    int i;
414    for (i = 0; providers[i] != glx_provider_terminator; i++) {
415        switch (providers[i]) {
416        case GLX_10:
417            if (true)
418                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
419            break;
420        case GLX_11:
421            if (true)
422                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
423            break;
424        case GLX_12:
425            if (true)
426                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
427            break;
428        case GLX_13:
429            if (true)
430                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
431            break;
432        case GLX_extension_GLX_AMD_gpu_association:
433            if (epoxy_conservative_has_glx_extension("GLX_AMD_gpu_association"))
434                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
435            break;
436        case GLX_extension_GLX_ARB_create_context:
437            if (epoxy_conservative_has_glx_extension("GLX_ARB_create_context"))
438                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
439            break;
440        case GLX_extension_GLX_ARB_get_proc_address:
441            if (epoxy_conservative_has_glx_extension("GLX_ARB_get_proc_address"))
442                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
443            break;
444        case GLX_extension_GLX_EXT_import_context:
445            if (epoxy_conservative_has_glx_extension("GLX_EXT_import_context"))
446                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
447            break;
448        case GLX_extension_GLX_EXT_swap_control:
449            if (epoxy_conservative_has_glx_extension("GLX_EXT_swap_control"))
450                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
451            break;
452        case GLX_extension_GLX_EXT_texture_from_pixmap:
453            if (epoxy_conservative_has_glx_extension("GLX_EXT_texture_from_pixmap"))
454                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
455            break;
456        case GLX_extension_GLX_MESA_agp_offset:
457            if (epoxy_conservative_has_glx_extension("GLX_MESA_agp_offset"))
458                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
459            break;
460        case GLX_extension_GLX_MESA_copy_sub_buffer:
461            if (epoxy_conservative_has_glx_extension("GLX_MESA_copy_sub_buffer"))
462                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
463            break;
464        case GLX_extension_GLX_MESA_pixmap_colormap:
465            if (epoxy_conservative_has_glx_extension("GLX_MESA_pixmap_colormap"))
466                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
467            break;
468        case GLX_extension_GLX_MESA_query_renderer:
469            if (epoxy_conservative_has_glx_extension("GLX_MESA_query_renderer"))
470                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
471            break;
472        case GLX_extension_GLX_MESA_release_buffers:
473            if (epoxy_conservative_has_glx_extension("GLX_MESA_release_buffers"))
474                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
475            break;
476        case GLX_extension_GLX_MESA_set_3dfx_mode:
477            if (epoxy_conservative_has_glx_extension("GLX_MESA_set_3dfx_mode"))
478                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
479            break;
480        case GLX_extension_GLX_NV_copy_buffer:
481            if (epoxy_conservative_has_glx_extension("GLX_NV_copy_buffer"))
482                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
483            break;
484        case GLX_extension_GLX_NV_copy_image:
485            if (epoxy_conservative_has_glx_extension("GLX_NV_copy_image"))
486                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
487            break;
488        case GLX_extension_GLX_NV_delay_before_swap:
489            if (epoxy_conservative_has_glx_extension("GLX_NV_delay_before_swap"))
490                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
491            break;
492        case GLX_extension_GLX_NV_present_video:
493            if (epoxy_conservative_has_glx_extension("GLX_NV_present_video"))
494                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
495            break;
496        case GLX_extension_GLX_NV_swap_group:
497            if (epoxy_conservative_has_glx_extension("GLX_NV_swap_group"))
498                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
499            break;
500        case GLX_extension_GLX_NV_video_capture:
501            if (epoxy_conservative_has_glx_extension("GLX_NV_video_capture"))
502                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
503            break;
504        case GLX_extension_GLX_NV_video_out:
505            if (epoxy_conservative_has_glx_extension("GLX_NV_video_out"))
506                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
507            break;
508        case GLX_extension_GLX_OML_sync_control:
509            if (epoxy_conservative_has_glx_extension("GLX_OML_sync_control"))
510                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
511            break;
512        case GLX_extension_GLX_SGIX_fbconfig:
513            if (epoxy_conservative_has_glx_extension("GLX_SGIX_fbconfig"))
514                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
515            break;
516        case GLX_extension_GLX_SGIX_hyperpipe:
517            if (epoxy_conservative_has_glx_extension("GLX_SGIX_hyperpipe"))
518                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
519            break;
520        case GLX_extension_GLX_SGIX_pbuffer:
521            if (epoxy_conservative_has_glx_extension("GLX_SGIX_pbuffer"))
522                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
523            break;
524        case GLX_extension_GLX_SGIX_swap_barrier:
525            if (epoxy_conservative_has_glx_extension("GLX_SGIX_swap_barrier"))
526                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
527            break;
528        case GLX_extension_GLX_SGIX_swap_group:
529            if (epoxy_conservative_has_glx_extension("GLX_SGIX_swap_group"))
530                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
531            break;
532        case GLX_extension_GLX_SGIX_video_resize:
533            if (epoxy_conservative_has_glx_extension("GLX_SGIX_video_resize"))
534                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
535            break;
536        case GLX_extension_GLX_SGIX_video_source:
537            if (epoxy_conservative_has_glx_extension("GLX_SGIX_video_source"))
538                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
539            break;
540        case GLX_extension_GLX_SGI_cushion:
541            if (epoxy_conservative_has_glx_extension("GLX_SGI_cushion"))
542                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
543            break;
544        case GLX_extension_GLX_SGI_make_current_read:
545            if (epoxy_conservative_has_glx_extension("GLX_SGI_make_current_read"))
546                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
547            break;
548        case GLX_extension_GLX_SGI_swap_control:
549            if (epoxy_conservative_has_glx_extension("GLX_SGI_swap_control"))
550                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
551            break;
552        case GLX_extension_GLX_SGI_video_sync:
553            if (epoxy_conservative_has_glx_extension("GLX_SGI_video_sync"))
554                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
555            break;
556        case GLX_extension_GLX_SUN_get_transparent_index:
557            if (epoxy_conservative_has_glx_extension("GLX_SUN_get_transparent_index"))
558                return glXGetProcAddress((const GLubyte *)entrypoint_strings + entrypoints[i]);
559            break;
560        case always_present:
561            if (true)
562                return epoxy_glx_dlsym(entrypoint_strings + entrypoints[i]);
563            break;
564        case glx_provider_terminator:
565            abort(); /* Not reached */
566        }
567    }
568
569    fprintf(stderr, "No provider of %s found.  Requires one of:\n", name);
570    for (i = 0; providers[i] != glx_provider_terminator; i++) {
571        fprintf(stderr, "    %s\n", enum_string + enum_string_offsets[providers[i]]);
572    }
573    if (providers[0] == glx_provider_terminator) {
574        fprintf(stderr, "    No known providers.  This is likely a bug "
575                        "in libepoxy code generation\n");
576    }
577    abort();
578}
579
580EPOXY_NOINLINE static void *
581glx_single_resolver(enum glx_provider provider, uint16_t entrypoint_offset);
582
583static void *
584glx_single_resolver(enum glx_provider provider, uint16_t entrypoint_offset)
585{
586    enum glx_provider providers[] = {
587        provider,
588        glx_provider_terminator
589    };
590    return glx_provider_resolver(entrypoint_strings + entrypoint_offset,
591                                providers, &entrypoint_offset);
592}
593
594static PFNGLXBINDCHANNELTOWINDOWSGIXPROC
595epoxy_glXBindChannelToWindowSGIX_resolver(void)
596{
597    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 0 /* glXBindChannelToWindowSGIX */);
598}
599
600static PFNGLXBINDHYPERPIPESGIXPROC
601epoxy_glXBindHyperpipeSGIX_resolver(void)
602{
603    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 27 /* glXBindHyperpipeSGIX */);
604}
605
606static PFNGLXBINDSWAPBARRIERNVPROC
607epoxy_glXBindSwapBarrierNV_resolver(void)
608{
609    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 48 /* glXBindSwapBarrierNV */);
610}
611
612static PFNGLXBINDSWAPBARRIERSGIXPROC
613epoxy_glXBindSwapBarrierSGIX_resolver(void)
614{
615    return glx_single_resolver(GLX_extension_GLX_SGIX_swap_barrier, 69 /* glXBindSwapBarrierSGIX */);
616}
617
618static PFNGLXBINDTEXIMAGEEXTPROC
619epoxy_glXBindTexImageEXT_resolver(void)
620{
621    return glx_single_resolver(GLX_extension_GLX_EXT_texture_from_pixmap, 92 /* glXBindTexImageEXT */);
622}
623
624static PFNGLXBINDVIDEOCAPTUREDEVICENVPROC
625epoxy_glXBindVideoCaptureDeviceNV_resolver(void)
626{
627    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 111 /* glXBindVideoCaptureDeviceNV */);
628}
629
630static PFNGLXBINDVIDEODEVICENVPROC
631epoxy_glXBindVideoDeviceNV_resolver(void)
632{
633    return glx_single_resolver(GLX_extension_GLX_NV_present_video, 139 /* glXBindVideoDeviceNV */);
634}
635
636static PFNGLXBINDVIDEOIMAGENVPROC
637epoxy_glXBindVideoImageNV_resolver(void)
638{
639    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 160 /* glXBindVideoImageNV */);
640}
641
642static PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC
643epoxy_glXBlitContextFramebufferAMD_resolver(void)
644{
645    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 180 /* glXBlitContextFramebufferAMD */);
646}
647
648static PFNGLXCHANNELRECTSGIXPROC
649epoxy_glXChannelRectSGIX_resolver(void)
650{
651    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 209 /* glXChannelRectSGIX */);
652}
653
654static PFNGLXCHANNELRECTSYNCSGIXPROC
655epoxy_glXChannelRectSyncSGIX_resolver(void)
656{
657    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 228 /* glXChannelRectSyncSGIX */);
658}
659
660static PFNGLXCHOOSEFBCONFIGPROC
661epoxy_glXChooseFBConfig_resolver(void)
662{
663    return glx_single_resolver(GLX_13, 251 /* glXChooseFBConfig */);
664}
665
666static PFNGLXCHOOSEFBCONFIGSGIXPROC
667epoxy_glXChooseFBConfigSGIX_resolver(void)
668{
669    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 269 /* glXChooseFBConfigSGIX */);
670}
671
672static PFNGLXCHOOSEVISUALPROC
673epoxy_glXChooseVisual_resolver(void)
674{
675    return glx_single_resolver(GLX_10, 291 /* glXChooseVisual */);
676}
677
678static PFNGLXCOPYBUFFERSUBDATANVPROC
679epoxy_glXCopyBufferSubDataNV_resolver(void)
680{
681    return glx_single_resolver(GLX_extension_GLX_NV_copy_buffer, 307 /* glXCopyBufferSubDataNV */);
682}
683
684static PFNGLXCOPYCONTEXTPROC
685epoxy_glXCopyContext_resolver(void)
686{
687    return glx_single_resolver(GLX_10, 330 /* glXCopyContext */);
688}
689
690static PFNGLXCOPYIMAGESUBDATANVPROC
691epoxy_glXCopyImageSubDataNV_resolver(void)
692{
693    return glx_single_resolver(GLX_extension_GLX_NV_copy_image, 345 /* glXCopyImageSubDataNV */);
694}
695
696static PFNGLXCOPYSUBBUFFERMESAPROC
697epoxy_glXCopySubBufferMESA_resolver(void)
698{
699    return glx_single_resolver(GLX_extension_GLX_MESA_copy_sub_buffer, 367 /* glXCopySubBufferMESA */);
700}
701
702static PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC
703epoxy_glXCreateAssociatedContextAMD_resolver(void)
704{
705    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 388 /* glXCreateAssociatedContextAMD */);
706}
707
708static PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC
709epoxy_glXCreateAssociatedContextAttribsAMD_resolver(void)
710{
711    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 418 /* glXCreateAssociatedContextAttribsAMD */);
712}
713
714static PFNGLXCREATECONTEXTPROC
715epoxy_glXCreateContext_resolver(void)
716{
717    return glx_single_resolver(GLX_10, 455 /* glXCreateContext */);
718}
719
720static PFNGLXCREATECONTEXTATTRIBSARBPROC
721epoxy_glXCreateContextAttribsARB_resolver(void)
722{
723    return glx_single_resolver(GLX_extension_GLX_ARB_create_context, 472 /* glXCreateContextAttribsARB */);
724}
725
726static PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC
727epoxy_glXCreateContextWithConfigSGIX_resolver(void)
728{
729    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 499 /* glXCreateContextWithConfigSGIX */);
730}
731
732static PFNGLXCREATEGLXPBUFFERSGIXPROC
733epoxy_glXCreateGLXPbufferSGIX_resolver(void)
734{
735    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 530 /* glXCreateGLXPbufferSGIX */);
736}
737
738static PFNGLXCREATEGLXPIXMAPPROC
739epoxy_glXCreateGLXPixmap_resolver(void)
740{
741    return glx_single_resolver(GLX_10, 554 /* glXCreateGLXPixmap */);
742}
743
744static PFNGLXCREATEGLXPIXMAPMESAPROC
745epoxy_glXCreateGLXPixmapMESA_resolver(void)
746{
747    return glx_single_resolver(GLX_extension_GLX_MESA_pixmap_colormap, 573 /* glXCreateGLXPixmapMESA */);
748}
749
750static PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC
751epoxy_glXCreateGLXPixmapWithConfigSGIX_resolver(void)
752{
753    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 596 /* glXCreateGLXPixmapWithConfigSGIX */);
754}
755
756static PFNGLXCREATENEWCONTEXTPROC
757epoxy_glXCreateNewContext_resolver(void)
758{
759    return glx_single_resolver(GLX_13, 629 /* glXCreateNewContext */);
760}
761
762static PFNGLXCREATEPBUFFERPROC
763epoxy_glXCreatePbuffer_resolver(void)
764{
765    return glx_single_resolver(GLX_13, 649 /* glXCreatePbuffer */);
766}
767
768static PFNGLXCREATEPIXMAPPROC
769epoxy_glXCreatePixmap_resolver(void)
770{
771    return glx_single_resolver(GLX_13, 666 /* glXCreatePixmap */);
772}
773
774static PFNGLXCREATEWINDOWPROC
775epoxy_glXCreateWindow_resolver(void)
776{
777    return glx_single_resolver(GLX_13, 682 /* glXCreateWindow */);
778}
779
780static PFNGLXCUSHIONSGIPROC
781epoxy_glXCushionSGI_resolver(void)
782{
783    return glx_single_resolver(GLX_extension_GLX_SGI_cushion, 698 /* glXCushionSGI */);
784}
785
786static PFNGLXDELAYBEFORESWAPNVPROC
787epoxy_glXDelayBeforeSwapNV_resolver(void)
788{
789    return glx_single_resolver(GLX_extension_GLX_NV_delay_before_swap, 712 /* glXDelayBeforeSwapNV */);
790}
791
792static PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC
793epoxy_glXDeleteAssociatedContextAMD_resolver(void)
794{
795    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 733 /* glXDeleteAssociatedContextAMD */);
796}
797
798static PFNGLXDESTROYCONTEXTPROC
799epoxy_glXDestroyContext_resolver(void)
800{
801    return glx_single_resolver(GLX_10, 763 /* glXDestroyContext */);
802}
803
804static PFNGLXDESTROYGLXPBUFFERSGIXPROC
805epoxy_glXDestroyGLXPbufferSGIX_resolver(void)
806{
807    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 781 /* glXDestroyGLXPbufferSGIX */);
808}
809
810static PFNGLXDESTROYGLXPIXMAPPROC
811epoxy_glXDestroyGLXPixmap_resolver(void)
812{
813    return glx_single_resolver(GLX_10, 806 /* glXDestroyGLXPixmap */);
814}
815
816static PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC
817epoxy_glXDestroyGLXVideoSourceSGIX_resolver(void)
818{
819    return glx_single_resolver(GLX_extension_GLX_SGIX_video_source, 826 /* glXDestroyGLXVideoSourceSGIX */);
820}
821
822static PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC
823epoxy_glXDestroyHyperpipeConfigSGIX_resolver(void)
824{
825    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 855 /* glXDestroyHyperpipeConfigSGIX */);
826}
827
828static PFNGLXDESTROYPBUFFERPROC
829epoxy_glXDestroyPbuffer_resolver(void)
830{
831    return glx_single_resolver(GLX_13, 885 /* glXDestroyPbuffer */);
832}
833
834static PFNGLXDESTROYPIXMAPPROC
835epoxy_glXDestroyPixmap_resolver(void)
836{
837    return glx_single_resolver(GLX_13, 903 /* glXDestroyPixmap */);
838}
839
840static PFNGLXDESTROYWINDOWPROC
841epoxy_glXDestroyWindow_resolver(void)
842{
843    return glx_single_resolver(GLX_13, 920 /* glXDestroyWindow */);
844}
845
846static PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC
847epoxy_glXEnumerateVideoCaptureDevicesNV_resolver(void)
848{
849    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 937 /* glXEnumerateVideoCaptureDevicesNV */);
850}
851
852static PFNGLXENUMERATEVIDEODEVICESNVPROC
853epoxy_glXEnumerateVideoDevicesNV_resolver(void)
854{
855    return glx_single_resolver(GLX_extension_GLX_NV_present_video, 971 /* glXEnumerateVideoDevicesNV */);
856}
857
858static PFNGLXFREECONTEXTEXTPROC
859epoxy_glXFreeContextEXT_resolver(void)
860{
861    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 998 /* glXFreeContextEXT */);
862}
863
864static PFNGLXGETAGPOFFSETMESAPROC
865epoxy_glXGetAGPOffsetMESA_resolver(void)
866{
867    return glx_single_resolver(GLX_extension_GLX_MESA_agp_offset, 1016 /* glXGetAGPOffsetMESA */);
868}
869
870static PFNGLXGETCLIENTSTRINGPROC
871epoxy_glXGetClientString_resolver(void)
872{
873    return glx_single_resolver(GLX_11, 1036 /* glXGetClientString */);
874}
875
876static PFNGLXGETCONFIGPROC
877epoxy_glXGetConfig_resolver(void)
878{
879    return glx_single_resolver(GLX_10, 1055 /* glXGetConfig */);
880}
881
882static PFNGLXGETCONTEXTGPUIDAMDPROC
883epoxy_glXGetContextGPUIDAMD_resolver(void)
884{
885    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1068 /* glXGetContextGPUIDAMD */);
886}
887
888static PFNGLXGETCONTEXTIDEXTPROC
889epoxy_glXGetContextIDEXT_resolver(void)
890{
891    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 1090 /* glXGetContextIDEXT */);
892}
893
894static PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC
895epoxy_glXGetCurrentAssociatedContextAMD_resolver(void)
896{
897    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1109 /* glXGetCurrentAssociatedContextAMD */);
898}
899
900static PFNGLXGETCURRENTCONTEXTPROC
901epoxy_glXGetCurrentContext_resolver(void)
902{
903    return glx_single_resolver(GLX_10, 1143 /* glXGetCurrentContext */);
904}
905
906static PFNGLXGETCURRENTDISPLAYPROC
907epoxy_glXGetCurrentDisplay_resolver(void)
908{
909    return glx_single_resolver(GLX_12, 1164 /* glXGetCurrentDisplay */);
910}
911
912static PFNGLXGETCURRENTDISPLAYEXTPROC
913epoxy_glXGetCurrentDisplayEXT_resolver(void)
914{
915    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 1185 /* glXGetCurrentDisplayEXT */);
916}
917
918static PFNGLXGETCURRENTDRAWABLEPROC
919epoxy_glXGetCurrentDrawable_resolver(void)
920{
921    return glx_single_resolver(GLX_10, 1209 /* glXGetCurrentDrawable */);
922}
923
924static PFNGLXGETCURRENTREADDRAWABLEPROC
925epoxy_glXGetCurrentReadDrawable_resolver(void)
926{
927    return glx_single_resolver(GLX_13, 1231 /* glXGetCurrentReadDrawable */);
928}
929
930static PFNGLXGETCURRENTREADDRAWABLESGIPROC
931epoxy_glXGetCurrentReadDrawableSGI_resolver(void)
932{
933    return glx_single_resolver(GLX_extension_GLX_SGI_make_current_read, 1257 /* glXGetCurrentReadDrawableSGI */);
934}
935
936static PFNGLXGETFBCONFIGATTRIBPROC
937epoxy_glXGetFBConfigAttrib_resolver(void)
938{
939    return glx_single_resolver(GLX_13, 1286 /* glXGetFBConfigAttrib */);
940}
941
942static PFNGLXGETFBCONFIGATTRIBSGIXPROC
943epoxy_glXGetFBConfigAttribSGIX_resolver(void)
944{
945    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 1307 /* glXGetFBConfigAttribSGIX */);
946}
947
948static PFNGLXGETFBCONFIGFROMVISUALSGIXPROC
949epoxy_glXGetFBConfigFromVisualSGIX_resolver(void)
950{
951    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 1332 /* glXGetFBConfigFromVisualSGIX */);
952}
953
954static PFNGLXGETFBCONFIGSPROC
955epoxy_glXGetFBConfigs_resolver(void)
956{
957    return glx_single_resolver(GLX_13, 1361 /* glXGetFBConfigs */);
958}
959
960static PFNGLXGETGPUIDSAMDPROC
961epoxy_glXGetGPUIDsAMD_resolver(void)
962{
963    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1377 /* glXGetGPUIDsAMD */);
964}
965
966static PFNGLXGETGPUINFOAMDPROC
967epoxy_glXGetGPUInfoAMD_resolver(void)
968{
969    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1393 /* glXGetGPUInfoAMD */);
970}
971
972static PFNGLXGETMSCRATEOMLPROC
973epoxy_glXGetMscRateOML_resolver(void)
974{
975    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 1410 /* glXGetMscRateOML */);
976}
977
978static PFNGLXGETPROCADDRESSPROC
979epoxy_glXGetProcAddress_resolver(void)
980{
981    return glx_single_resolver(always_present, 1427 /* glXGetProcAddress */);
982}
983
984static PFNGLXGETPROCADDRESSARBPROC
985epoxy_glXGetProcAddressARB_resolver(void)
986{
987    return glx_single_resolver(GLX_extension_GLX_ARB_get_proc_address, 1445 /* glXGetProcAddressARB */);
988}
989
990static PFNGLXGETSELECTEDEVENTPROC
991epoxy_glXGetSelectedEvent_resolver(void)
992{
993    return glx_single_resolver(GLX_13, 1466 /* glXGetSelectedEvent */);
994}
995
996static PFNGLXGETSELECTEDEVENTSGIXPROC
997epoxy_glXGetSelectedEventSGIX_resolver(void)
998{
999    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 1486 /* glXGetSelectedEventSGIX */);
1000}
1001
1002static PFNGLXGETSYNCVALUESOMLPROC
1003epoxy_glXGetSyncValuesOML_resolver(void)
1004{
1005    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 1510 /* glXGetSyncValuesOML */);
1006}
1007
1008static PFNGLXGETTRANSPARENTINDEXSUNPROC
1009epoxy_glXGetTransparentIndexSUN_resolver(void)
1010{
1011    return glx_single_resolver(GLX_extension_GLX_SUN_get_transparent_index, 1530 /* glXGetTransparentIndexSUN */);
1012}
1013
1014static PFNGLXGETVIDEODEVICENVPROC
1015epoxy_glXGetVideoDeviceNV_resolver(void)
1016{
1017    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 1556 /* glXGetVideoDeviceNV */);
1018}
1019
1020static PFNGLXGETVIDEOINFONVPROC
1021epoxy_glXGetVideoInfoNV_resolver(void)
1022{
1023    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 1576 /* glXGetVideoInfoNV */);
1024}
1025
1026static PFNGLXGETVIDEOSYNCSGIPROC
1027epoxy_glXGetVideoSyncSGI_resolver(void)
1028{
1029    return glx_single_resolver(GLX_extension_GLX_SGI_video_sync, 1594 /* glXGetVideoSyncSGI */);
1030}
1031
1032static PFNGLXGETVISUALFROMFBCONFIGPROC
1033epoxy_glXGetVisualFromFBConfig_resolver(void)
1034{
1035    return glx_single_resolver(GLX_13, 1613 /* glXGetVisualFromFBConfig */);
1036}
1037
1038static PFNGLXGETVISUALFROMFBCONFIGSGIXPROC
1039epoxy_glXGetVisualFromFBConfigSGIX_resolver(void)
1040{
1041    return glx_single_resolver(GLX_extension_GLX_SGIX_fbconfig, 1638 /* glXGetVisualFromFBConfigSGIX */);
1042}
1043
1044static PFNGLXHYPERPIPEATTRIBSGIXPROC
1045epoxy_glXHyperpipeAttribSGIX_resolver(void)
1046{
1047    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 1667 /* glXHyperpipeAttribSGIX */);
1048}
1049
1050static PFNGLXHYPERPIPECONFIGSGIXPROC
1051epoxy_glXHyperpipeConfigSGIX_resolver(void)
1052{
1053    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 1690 /* glXHyperpipeConfigSGIX */);
1054}
1055
1056static PFNGLXIMPORTCONTEXTEXTPROC
1057epoxy_glXImportContextEXT_resolver(void)
1058{
1059    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 1713 /* glXImportContextEXT */);
1060}
1061
1062static PFNGLXISDIRECTPROC
1063epoxy_glXIsDirect_resolver(void)
1064{
1065    return glx_single_resolver(GLX_10, 1733 /* glXIsDirect */);
1066}
1067
1068static PFNGLXJOINSWAPGROUPNVPROC
1069epoxy_glXJoinSwapGroupNV_resolver(void)
1070{
1071    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 1745 /* glXJoinSwapGroupNV */);
1072}
1073
1074static PFNGLXJOINSWAPGROUPSGIXPROC
1075epoxy_glXJoinSwapGroupSGIX_resolver(void)
1076{
1077    return glx_single_resolver(GLX_extension_GLX_SGIX_swap_group, 1764 /* glXJoinSwapGroupSGIX */);
1078}
1079
1080static PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC
1081epoxy_glXLockVideoCaptureDeviceNV_resolver(void)
1082{
1083    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 1785 /* glXLockVideoCaptureDeviceNV */);
1084}
1085
1086static PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC
1087epoxy_glXMakeAssociatedContextCurrentAMD_resolver(void)
1088{
1089    return glx_single_resolver(GLX_extension_GLX_AMD_gpu_association, 1813 /* glXMakeAssociatedContextCurrentAMD */);
1090}
1091
1092static PFNGLXMAKECONTEXTCURRENTPROC
1093epoxy_glXMakeContextCurrent_resolver(void)
1094{
1095    return glx_single_resolver(GLX_13, 1848 /* glXMakeContextCurrent */);
1096}
1097
1098static PFNGLXMAKECURRENTPROC
1099epoxy_glXMakeCurrent_resolver(void)
1100{
1101    return glx_single_resolver(GLX_10, 1870 /* glXMakeCurrent */);
1102}
1103
1104static PFNGLXMAKECURRENTREADSGIPROC
1105epoxy_glXMakeCurrentReadSGI_resolver(void)
1106{
1107    return glx_single_resolver(GLX_extension_GLX_SGI_make_current_read, 1885 /* glXMakeCurrentReadSGI */);
1108}
1109
1110static PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC
1111epoxy_glXNamedCopyBufferSubDataNV_resolver(void)
1112{
1113    return glx_single_resolver(GLX_extension_GLX_NV_copy_buffer, 1907 /* glXNamedCopyBufferSubDataNV */);
1114}
1115
1116static PFNGLXQUERYCHANNELDELTASSGIXPROC
1117epoxy_glXQueryChannelDeltasSGIX_resolver(void)
1118{
1119    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 1935 /* glXQueryChannelDeltasSGIX */);
1120}
1121
1122static PFNGLXQUERYCHANNELRECTSGIXPROC
1123epoxy_glXQueryChannelRectSGIX_resolver(void)
1124{
1125    return glx_single_resolver(GLX_extension_GLX_SGIX_video_resize, 1961 /* glXQueryChannelRectSGIX */);
1126}
1127
1128static PFNGLXQUERYCONTEXTPROC
1129epoxy_glXQueryContext_resolver(void)
1130{
1131    return glx_single_resolver(GLX_13, 1985 /* glXQueryContext */);
1132}
1133
1134static PFNGLXQUERYCONTEXTINFOEXTPROC
1135epoxy_glXQueryContextInfoEXT_resolver(void)
1136{
1137    return glx_single_resolver(GLX_extension_GLX_EXT_import_context, 2001 /* glXQueryContextInfoEXT */);
1138}
1139
1140static PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC
1141epoxy_glXQueryCurrentRendererIntegerMESA_resolver(void)
1142{
1143    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2024 /* glXQueryCurrentRendererIntegerMESA */);
1144}
1145
1146static PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC
1147epoxy_glXQueryCurrentRendererStringMESA_resolver(void)
1148{
1149    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2059 /* glXQueryCurrentRendererStringMESA */);
1150}
1151
1152static PFNGLXQUERYDRAWABLEPROC
1153epoxy_glXQueryDrawable_resolver(void)
1154{
1155    return glx_single_resolver(GLX_13, 2093 /* glXQueryDrawable */);
1156}
1157
1158static PFNGLXQUERYEXTENSIONPROC
1159epoxy_glXQueryExtension_resolver(void)
1160{
1161    return glx_single_resolver(GLX_10, 2110 /* glXQueryExtension */);
1162}
1163
1164static PFNGLXQUERYEXTENSIONSSTRINGPROC
1165epoxy_glXQueryExtensionsString_resolver(void)
1166{
1167    return glx_single_resolver(GLX_11, 2128 /* glXQueryExtensionsString */);
1168}
1169
1170static PFNGLXQUERYFRAMECOUNTNVPROC
1171epoxy_glXQueryFrameCountNV_resolver(void)
1172{
1173    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2153 /* glXQueryFrameCountNV */);
1174}
1175
1176static PFNGLXQUERYGLXPBUFFERSGIXPROC
1177epoxy_glXQueryGLXPbufferSGIX_resolver(void)
1178{
1179    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 2174 /* glXQueryGLXPbufferSGIX */);
1180}
1181
1182static PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC
1183epoxy_glXQueryHyperpipeAttribSGIX_resolver(void)
1184{
1185    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2197 /* glXQueryHyperpipeAttribSGIX */);
1186}
1187
1188static PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC
1189epoxy_glXQueryHyperpipeBestAttribSGIX_resolver(void)
1190{
1191    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2225 /* glXQueryHyperpipeBestAttribSGIX */);
1192}
1193
1194static PFNGLXQUERYHYPERPIPECONFIGSGIXPROC
1195epoxy_glXQueryHyperpipeConfigSGIX_resolver(void)
1196{
1197    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2257 /* glXQueryHyperpipeConfigSGIX */);
1198}
1199
1200static PFNGLXQUERYHYPERPIPENETWORKSGIXPROC
1201epoxy_glXQueryHyperpipeNetworkSGIX_resolver(void)
1202{
1203    return glx_single_resolver(GLX_extension_GLX_SGIX_hyperpipe, 2285 /* glXQueryHyperpipeNetworkSGIX */);
1204}
1205
1206static PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC
1207epoxy_glXQueryMaxSwapBarriersSGIX_resolver(void)
1208{
1209    return glx_single_resolver(GLX_extension_GLX_SGIX_swap_barrier, 2314 /* glXQueryMaxSwapBarriersSGIX */);
1210}
1211
1212static PFNGLXQUERYMAXSWAPGROUPSNVPROC
1213epoxy_glXQueryMaxSwapGroupsNV_resolver(void)
1214{
1215    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2342 /* glXQueryMaxSwapGroupsNV */);
1216}
1217
1218static PFNGLXQUERYRENDERERINTEGERMESAPROC
1219epoxy_glXQueryRendererIntegerMESA_resolver(void)
1220{
1221    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2366 /* glXQueryRendererIntegerMESA */);
1222}
1223
1224static PFNGLXQUERYRENDERERSTRINGMESAPROC
1225epoxy_glXQueryRendererStringMESA_resolver(void)
1226{
1227    return glx_single_resolver(GLX_extension_GLX_MESA_query_renderer, 2394 /* glXQueryRendererStringMESA */);
1228}
1229
1230static PFNGLXQUERYSERVERSTRINGPROC
1231epoxy_glXQueryServerString_resolver(void)
1232{
1233    return glx_single_resolver(GLX_11, 2421 /* glXQueryServerString */);
1234}
1235
1236static PFNGLXQUERYSWAPGROUPNVPROC
1237epoxy_glXQuerySwapGroupNV_resolver(void)
1238{
1239    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2442 /* glXQuerySwapGroupNV */);
1240}
1241
1242static PFNGLXQUERYVERSIONPROC
1243epoxy_glXQueryVersion_resolver(void)
1244{
1245    return glx_single_resolver(GLX_10, 2462 /* glXQueryVersion */);
1246}
1247
1248static PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC
1249epoxy_glXQueryVideoCaptureDeviceNV_resolver(void)
1250{
1251    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 2478 /* glXQueryVideoCaptureDeviceNV */);
1252}
1253
1254static PFNGLXRELEASEBUFFERSMESAPROC
1255epoxy_glXReleaseBuffersMESA_resolver(void)
1256{
1257    return glx_single_resolver(GLX_extension_GLX_MESA_release_buffers, 2507 /* glXReleaseBuffersMESA */);
1258}
1259
1260static PFNGLXRELEASETEXIMAGEEXTPROC
1261epoxy_glXReleaseTexImageEXT_resolver(void)
1262{
1263    return glx_single_resolver(GLX_extension_GLX_EXT_texture_from_pixmap, 2529 /* glXReleaseTexImageEXT */);
1264}
1265
1266static PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC
1267epoxy_glXReleaseVideoCaptureDeviceNV_resolver(void)
1268{
1269    return glx_single_resolver(GLX_extension_GLX_NV_video_capture, 2551 /* glXReleaseVideoCaptureDeviceNV */);
1270}
1271
1272static PFNGLXRELEASEVIDEODEVICENVPROC
1273epoxy_glXReleaseVideoDeviceNV_resolver(void)
1274{
1275    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 2582 /* glXReleaseVideoDeviceNV */);
1276}
1277
1278static PFNGLXRELEASEVIDEOIMAGENVPROC
1279epoxy_glXReleaseVideoImageNV_resolver(void)
1280{
1281    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 2606 /* glXReleaseVideoImageNV */);
1282}
1283
1284static PFNGLXRESETFRAMECOUNTNVPROC
1285epoxy_glXResetFrameCountNV_resolver(void)
1286{
1287    return glx_single_resolver(GLX_extension_GLX_NV_swap_group, 2629 /* glXResetFrameCountNV */);
1288}
1289
1290static PFNGLXSELECTEVENTPROC
1291epoxy_glXSelectEvent_resolver(void)
1292{
1293    return glx_single_resolver(GLX_13, 2650 /* glXSelectEvent */);
1294}
1295
1296static PFNGLXSELECTEVENTSGIXPROC
1297epoxy_glXSelectEventSGIX_resolver(void)
1298{
1299    return glx_single_resolver(GLX_extension_GLX_SGIX_pbuffer, 2665 /* glXSelectEventSGIX */);
1300}
1301
1302static PFNGLXSENDPBUFFERTOVIDEONVPROC
1303epoxy_glXSendPbufferToVideoNV_resolver(void)
1304{
1305    return glx_single_resolver(GLX_extension_GLX_NV_video_out, 2684 /* glXSendPbufferToVideoNV */);
1306}
1307
1308static PFNGLXSET3DFXMODEMESAPROC
1309epoxy_glXSet3DfxModeMESA_resolver(void)
1310{
1311    return glx_single_resolver(GLX_extension_GLX_MESA_set_3dfx_mode, 2708 /* glXSet3DfxModeMESA */);
1312}
1313
1314static PFNGLXSWAPBUFFERSPROC
1315epoxy_glXSwapBuffers_resolver(void)
1316{
1317    return glx_single_resolver(GLX_10, 2727 /* glXSwapBuffers */);
1318}
1319
1320static PFNGLXSWAPBUFFERSMSCOMLPROC
1321epoxy_glXSwapBuffersMscOML_resolver(void)
1322{
1323    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 2742 /* glXSwapBuffersMscOML */);
1324}
1325
1326static PFNGLXSWAPINTERVALEXTPROC
1327epoxy_glXSwapIntervalEXT_resolver(void)
1328{
1329    return glx_single_resolver(GLX_extension_GLX_EXT_swap_control, 2763 /* glXSwapIntervalEXT */);
1330}
1331
1332static PFNGLXSWAPINTERVALSGIPROC
1333epoxy_glXSwapIntervalSGI_resolver(void)
1334{
1335    return glx_single_resolver(GLX_extension_GLX_SGI_swap_control, 2782 /* glXSwapIntervalSGI */);
1336}
1337
1338static PFNGLXUSEXFONTPROC
1339epoxy_glXUseXFont_resolver(void)
1340{
1341    return glx_single_resolver(GLX_10, 2801 /* glXUseXFont */);
1342}
1343
1344static PFNGLXWAITFORMSCOMLPROC
1345epoxy_glXWaitForMscOML_resolver(void)
1346{
1347    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 2813 /* glXWaitForMscOML */);
1348}
1349
1350static PFNGLXWAITFORSBCOMLPROC
1351epoxy_glXWaitForSbcOML_resolver(void)
1352{
1353    return glx_single_resolver(GLX_extension_GLX_OML_sync_control, 2830 /* glXWaitForSbcOML */);
1354}
1355
1356static PFNGLXWAITGLPROC
1357epoxy_glXWaitGL_resolver(void)
1358{
1359    return glx_single_resolver(GLX_10, 2847 /* glXWaitGL */);
1360}
1361
1362static PFNGLXWAITVIDEOSYNCSGIPROC
1363epoxy_glXWaitVideoSyncSGI_resolver(void)
1364{
1365    return glx_single_resolver(GLX_extension_GLX_SGI_video_sync, 2857 /* glXWaitVideoSyncSGI */);
1366}
1367
1368static PFNGLXWAITXPROC
1369epoxy_glXWaitX_resolver(void)
1370{
1371    return glx_single_resolver(GLX_10, 2877 /* glXWaitX */);
1372}
1373
1374GEN_THUNKS_RET(int, glXBindChannelToWindowSGIX, (Display * display, int screen, int channel, Window window), (display, screen, channel, window))
1375GEN_THUNKS_RET(int, glXBindHyperpipeSGIX, (Display * dpy, int hpId), (dpy, hpId))
1376GEN_THUNKS_RET(Bool, glXBindSwapBarrierNV, (Display * dpy, GLuint group, GLuint barrier), (dpy, group, barrier))
1377GEN_THUNKS(glXBindSwapBarrierSGIX, (Display * dpy, GLXDrawable drawable, int barrier), (dpy, drawable, barrier))
1378GEN_THUNKS(glXBindTexImageEXT, (Display * dpy, GLXDrawable drawable, int buffer, const int * attrib_list), (dpy, drawable, buffer, attrib_list))
1379GEN_THUNKS_RET(int, glXBindVideoCaptureDeviceNV, (Display * dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device), (dpy, video_capture_slot, device))
1380GEN_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))
1381GEN_THUNKS_RET(int, glXBindVideoImageNV, (Display * dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer), (dpy, VideoDevice, pbuf, iVideoBuffer))
1382GEN_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))
1383GEN_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))
1384GEN_THUNKS_RET(int, glXChannelRectSyncSGIX, (Display * display, int screen, int channel, GLenum synctype), (display, screen, channel, synctype))
1385GEN_THUNKS_RET(GLXFBConfig *, glXChooseFBConfig, (Display * dpy, int screen, const int * attrib_list, int * nelements), (dpy, screen, attrib_list, nelements))
1386GEN_THUNKS_RET(GLXFBConfigSGIX *, glXChooseFBConfigSGIX, (Display * dpy, int screen, int * attrib_list, int * nelements), (dpy, screen, attrib_list, nelements))
1387GEN_THUNKS_RET(XVisualInfo *, glXChooseVisual, (Display * dpy, int screen, int * attribList), (dpy, screen, attribList))
1388GEN_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))
1389GEN_THUNKS(glXCopyContext, (Display * dpy, GLXContext src, GLXContext dst, unsigned long mask), (dpy, src, dst, mask))
1390GEN_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))
1391GEN_THUNKS(glXCopySubBufferMESA, (Display * dpy, GLXDrawable drawable, int x, int y, int width, int height), (dpy, drawable, x, y, width, height))
1392GEN_THUNKS_RET(GLXContext, glXCreateAssociatedContextAMD, (unsigned int id, GLXContext share_list), (id, share_list))
1393GEN_THUNKS_RET(GLXContext, glXCreateAssociatedContextAttribsAMD, (unsigned int id, GLXContext share_context, const int * attribList), (id, share_context, attribList))
1394GEN_THUNKS_RET(GLXContext, glXCreateContext, (Display * dpy, XVisualInfo * vis, GLXContext shareList, Bool direct), (dpy, vis, shareList, direct))
1395GEN_THUNKS_RET(GLXContext, glXCreateContextAttribsARB, (Display * dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int * attrib_list), (dpy, config, share_context, direct, attrib_list))
1396GEN_THUNKS_RET(GLXContext, glXCreateContextWithConfigSGIX, (Display * dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct), (dpy, config, render_type, share_list, direct))
1397GEN_THUNKS_RET(GLXPbufferSGIX, glXCreateGLXPbufferSGIX, (Display * dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int * attrib_list), (dpy, config, width, height, attrib_list))
1398GEN_THUNKS_RET(GLXPixmap, glXCreateGLXPixmap, (Display * dpy, XVisualInfo * visual, Pixmap pixmap), (dpy, visual, pixmap))
1399GEN_THUNKS_RET(GLXPixmap, glXCreateGLXPixmapMESA, (Display * dpy, XVisualInfo * visual, Pixmap pixmap, Colormap cmap), (dpy, visual, pixmap, cmap))
1400GEN_THUNKS_RET(GLXPixmap, glXCreateGLXPixmapWithConfigSGIX, (Display * dpy, GLXFBConfigSGIX config, Pixmap pixmap), (dpy, config, pixmap))
1401GEN_THUNKS_RET(GLXContext, glXCreateNewContext, (Display * dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct), (dpy, config, render_type, share_list, direct))
1402GEN_THUNKS_RET(GLXPbuffer, glXCreatePbuffer, (Display * dpy, GLXFBConfig config, const int * attrib_list), (dpy, config, attrib_list))
1403GEN_THUNKS_RET(GLXPixmap, glXCreatePixmap, (Display * dpy, GLXFBConfig config, Pixmap pixmap, const int * attrib_list), (dpy, config, pixmap, attrib_list))
1404GEN_THUNKS_RET(GLXWindow, glXCreateWindow, (Display * dpy, GLXFBConfig config, Window win, const int * attrib_list), (dpy, config, win, attrib_list))
1405GEN_THUNKS(glXCushionSGI, (Display * dpy, Window window, float cushion), (dpy, window, cushion))
1406GEN_THUNKS_RET(Bool, glXDelayBeforeSwapNV, (Display * dpy, GLXDrawable drawable, GLfloat seconds), (dpy, drawable, seconds))
1407GEN_THUNKS_RET(Bool, glXDeleteAssociatedContextAMD, (GLXContext ctx), (ctx))
1408GEN_THUNKS(glXDestroyContext, (Display * dpy, GLXContext ctx), (dpy, ctx))
1409GEN_THUNKS(glXDestroyGLXPbufferSGIX, (Display * dpy, GLXPbufferSGIX pbuf), (dpy, pbuf))
1410GEN_THUNKS(glXDestroyGLXPixmap, (Display * dpy, GLXPixmap pixmap), (dpy, pixmap))
1411GEN_THUNKS(glXDestroyGLXVideoSourceSGIX, (Display * dpy, GLXVideoSourceSGIX glxvideosource), (dpy, glxvideosource))
1412GEN_THUNKS_RET(int, glXDestroyHyperpipeConfigSGIX, (Display * dpy, int hpId), (dpy, hpId))
1413GEN_THUNKS(glXDestroyPbuffer, (Display * dpy, GLXPbuffer pbuf), (dpy, pbuf))
1414GEN_THUNKS(glXDestroyPixmap, (Display * dpy, GLXPixmap pixmap), (dpy, pixmap))
1415GEN_THUNKS(glXDestroyWindow, (Display * dpy, GLXWindow win), (dpy, win))
1416GEN_THUNKS_RET(GLXVideoCaptureDeviceNV *, glXEnumerateVideoCaptureDevicesNV, (Display * dpy, int screen, int * nelements), (dpy, screen, nelements))
1417GEN_THUNKS_RET(unsigned int *, glXEnumerateVideoDevicesNV, (Display * dpy, int screen, int * nelements), (dpy, screen, nelements))
1418GEN_THUNKS(glXFreeContextEXT, (Display * dpy, GLXContext context), (dpy, context))
1419GEN_THUNKS_RET(unsigned int, glXGetAGPOffsetMESA, (const void * pointer), (pointer))
1420GEN_THUNKS_RET(const char *, glXGetClientString, (Display * dpy, int name), (dpy, name))
1421GEN_THUNKS_RET(int, glXGetConfig, (Display * dpy, XVisualInfo * visual, int attrib, int * value), (dpy, visual, attrib, value))
1422GEN_THUNKS_RET(unsigned int, glXGetContextGPUIDAMD, (GLXContext ctx), (ctx))
1423GEN_THUNKS_RET(GLXContextID, glXGetContextIDEXT, (const GLXContext context), (context))
1424GEN_THUNKS_RET(GLXContext, glXGetCurrentAssociatedContextAMD, (void), ())
1425GEN_THUNKS_RET(GLXContext, glXGetCurrentContext, (void), ())
1426GEN_THUNKS_RET(Display *, glXGetCurrentDisplay, (void), ())
1427GEN_THUNKS_RET(Display *, glXGetCurrentDisplayEXT, (void), ())
1428GEN_THUNKS_RET(GLXDrawable, glXGetCurrentDrawable, (void), ())
1429GEN_THUNKS_RET(GLXDrawable, glXGetCurrentReadDrawable, (void), ())
1430GEN_THUNKS_RET(GLXDrawable, glXGetCurrentReadDrawableSGI, (void), ())
1431GEN_THUNKS_RET(int, glXGetFBConfigAttrib, (Display * dpy, GLXFBConfig config, int attribute, int * value), (dpy, config, attribute, value))
1432GEN_THUNKS_RET(int, glXGetFBConfigAttribSGIX, (Display * dpy, GLXFBConfigSGIX config, int attribute, int * value), (dpy, config, attribute, value))
1433GEN_THUNKS_RET(GLXFBConfigSGIX, glXGetFBConfigFromVisualSGIX, (Display * dpy, XVisualInfo * vis), (dpy, vis))
1434GEN_THUNKS_RET(GLXFBConfig *, glXGetFBConfigs, (Display * dpy, int screen, int * nelements), (dpy, screen, nelements))
1435GEN_THUNKS_RET(unsigned int, glXGetGPUIDsAMD, (unsigned int maxCount, unsigned int * ids), (maxCount, ids))
1436GEN_THUNKS_RET(int, glXGetGPUInfoAMD, (unsigned int id, int property, GLenum dataType, unsigned int size, void * data), (id, property, dataType, size, data))
1437GEN_THUNKS_RET(Bool, glXGetMscRateOML, (Display * dpy, GLXDrawable drawable, int32_t * numerator, int32_t * denominator), (dpy, drawable, numerator, denominator))
1438GEN_THUNKS_RET(__GLXextFuncPtr, glXGetProcAddress, (const GLubyte * procName), (procName))
1439GEN_THUNKS_RET(__GLXextFuncPtr, glXGetProcAddressARB, (const GLubyte * procName), (procName))
1440GEN_THUNKS(glXGetSelectedEvent, (Display * dpy, GLXDrawable draw, unsigned long * event_mask), (dpy, draw, event_mask))
1441GEN_THUNKS(glXGetSelectedEventSGIX, (Display * dpy, GLXDrawable drawable, unsigned long * mask), (dpy, drawable, mask))
1442GEN_THUNKS_RET(Bool, glXGetSyncValuesOML, (Display * dpy, GLXDrawable drawable, int64_t * ust, int64_t * msc, int64_t * sbc), (dpy, drawable, ust, msc, sbc))
1443GEN_THUNKS_RET(Status, glXGetTransparentIndexSUN, (Display * dpy, Window overlay, Window underlay, long * pTransparentIndex), (dpy, overlay, underlay, pTransparentIndex))
1444GEN_THUNKS_RET(int, glXGetVideoDeviceNV, (Display * dpy, int screen, int numVideoDevices, GLXVideoDeviceNV * pVideoDevice), (dpy, screen, numVideoDevices, pVideoDevice))
1445GEN_THUNKS_RET(int, glXGetVideoInfoNV, (Display * dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long * pulCounterOutputPbuffer, unsigned long * pulCounterOutputVideo), (dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo))
1446GEN_THUNKS_RET(int, glXGetVideoSyncSGI, (unsigned int * count), (count))
1447GEN_THUNKS_RET(XVisualInfo *, glXGetVisualFromFBConfig, (Display * dpy, GLXFBConfig config), (dpy, config))
1448GEN_THUNKS_RET(XVisualInfo *, glXGetVisualFromFBConfigSGIX, (Display * dpy, GLXFBConfigSGIX config), (dpy, config))
1449GEN_THUNKS_RET(int, glXHyperpipeAttribSGIX, (Display * dpy, int timeSlice, int attrib, int size, void * attribList), (dpy, timeSlice, attrib, size, attribList))
1450GEN_THUNKS_RET(int, glXHyperpipeConfigSGIX, (Display * dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX * cfg, int * hpId), (dpy, networkId, npipes, cfg, hpId))
1451GEN_THUNKS_RET(GLXContext, glXImportContextEXT, (Display * dpy, GLXContextID contextID), (dpy, contextID))
1452GEN_THUNKS_RET(Bool, glXIsDirect, (Display * dpy, GLXContext ctx), (dpy, ctx))
1453GEN_THUNKS_RET(Bool, glXJoinSwapGroupNV, (Display * dpy, GLXDrawable drawable, GLuint group), (dpy, drawable, group))
1454GEN_THUNKS(glXJoinSwapGroupSGIX, (Display * dpy, GLXDrawable drawable, GLXDrawable member), (dpy, drawable, member))
1455GEN_THUNKS(glXLockVideoCaptureDeviceNV, (Display * dpy, GLXVideoCaptureDeviceNV device), (dpy, device))
1456GEN_THUNKS_RET(Bool, glXMakeAssociatedContextCurrentAMD, (GLXContext ctx), (ctx))
1457GEN_THUNKS_RET(Bool, glXMakeContextCurrent, (Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx), (dpy, draw, read, ctx))
1458GEN_THUNKS_RET(Bool, glXMakeCurrent, (Display * dpy, GLXDrawable drawable, GLXContext ctx), (dpy, drawable, ctx))
1459GEN_THUNKS_RET(Bool, glXMakeCurrentReadSGI, (Display * dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx), (dpy, draw, read, ctx))
1460GEN_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))
1461GEN_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))
1462GEN_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))
1463GEN_THUNKS_RET(int, glXQueryContext, (Display * dpy, GLXContext ctx, int attribute, int * value), (dpy, ctx, attribute, value))
1464GEN_THUNKS_RET(int, glXQueryContextInfoEXT, (Display * dpy, GLXContext context, int attribute, int * value), (dpy, context, attribute, value))
1465GEN_THUNKS_RET(Bool, glXQueryCurrentRendererIntegerMESA, (int attribute, unsigned int * value), (attribute, value))
1466GEN_THUNKS_RET(const char *, glXQueryCurrentRendererStringMESA, (int attribute), (attribute))
1467GEN_THUNKS(glXQueryDrawable, (Display * dpy, GLXDrawable draw, int attribute, unsigned int * value), (dpy, draw, attribute, value))
1468GEN_THUNKS_RET(Bool, glXQueryExtension, (Display * dpy, int * errorb, int * event), (dpy, errorb, event))
1469GEN_THUNKS_RET(const char *, glXQueryExtensionsString, (Display * dpy, int screen), (dpy, screen))
1470GEN_THUNKS_RET(Bool, glXQueryFrameCountNV, (Display * dpy, int screen, GLuint * count), (dpy, screen, count))
1471GEN_THUNKS_RET(int, glXQueryGLXPbufferSGIX, (Display * dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int * value), (dpy, pbuf, attribute, value))
1472GEN_THUNKS_RET(int, glXQueryHyperpipeAttribSGIX, (Display * dpy, int timeSlice, int attrib, int size, void * returnAttribList), (dpy, timeSlice, attrib, size, returnAttribList))
1473GEN_THUNKS_RET(int, glXQueryHyperpipeBestAttribSGIX, (Display * dpy, int timeSlice, int attrib, int size, void * attribList, void * returnAttribList), (dpy, timeSlice, attrib, size, attribList, returnAttribList))
1474GEN_THUNKS_RET(GLXHyperpipeConfigSGIX *, glXQueryHyperpipeConfigSGIX, (Display * dpy, int hpId, int * npipes), (dpy, hpId, npipes))
1475GEN_THUNKS_RET(GLXHyperpipeNetworkSGIX *, glXQueryHyperpipeNetworkSGIX, (Display * dpy, int * npipes), (dpy, npipes))
1476GEN_THUNKS_RET(Bool, glXQueryMaxSwapBarriersSGIX, (Display * dpy, int screen, int * max), (dpy, screen, max))
1477GEN_THUNKS_RET(Bool, glXQueryMaxSwapGroupsNV, (Display * dpy, int screen, GLuint * maxGroups, GLuint * maxBarriers), (dpy, screen, maxGroups, maxBarriers))
1478GEN_THUNKS_RET(Bool, glXQueryRendererIntegerMESA, (Display * dpy, int screen, int renderer, int attribute, unsigned int * value), (dpy, screen, renderer, attribute, value))
1479GEN_THUNKS_RET(const char *, glXQueryRendererStringMESA, (Display * dpy, int screen, int renderer, int attribute), (dpy, screen, renderer, attribute))
1480GEN_THUNKS_RET(const char *, glXQueryServerString, (Display * dpy, int screen, int name), (dpy, screen, name))
1481GEN_THUNKS_RET(Bool, glXQuerySwapGroupNV, (Display * dpy, GLXDrawable drawable, GLuint * group, GLuint * barrier), (dpy, drawable, group, barrier))
1482GEN_THUNKS_RET(Bool, glXQueryVersion, (Display * dpy, int * maj, int * min), (dpy, maj, min))
1483GEN_THUNKS_RET(int, glXQueryVideoCaptureDeviceNV, (Display * dpy, GLXVideoCaptureDeviceNV device, int attribute, int * value), (dpy, device, attribute, value))
1484GEN_THUNKS_RET(Bool, glXReleaseBuffersMESA, (Display * dpy, GLXDrawable drawable), (dpy, drawable))
1485GEN_THUNKS(glXReleaseTexImageEXT, (Display * dpy, GLXDrawable drawable, int buffer), (dpy, drawable, buffer))
1486GEN_THUNKS(glXReleaseVideoCaptureDeviceNV, (Display * dpy, GLXVideoCaptureDeviceNV device), (dpy, device))
1487GEN_THUNKS_RET(int, glXReleaseVideoDeviceNV, (Display * dpy, int screen, GLXVideoDeviceNV VideoDevice), (dpy, screen, VideoDevice))
1488GEN_THUNKS_RET(int, glXReleaseVideoImageNV, (Display * dpy, GLXPbuffer pbuf), (dpy, pbuf))
1489GEN_THUNKS_RET(Bool, glXResetFrameCountNV, (Display * dpy, int screen), (dpy, screen))
1490GEN_THUNKS(glXSelectEvent, (Display * dpy, GLXDrawable draw, unsigned long event_mask), (dpy, draw, event_mask))
1491GEN_THUNKS(glXSelectEventSGIX, (Display * dpy, GLXDrawable drawable, unsigned long mask), (dpy, drawable, mask))
1492GEN_THUNKS_RET(int, glXSendPbufferToVideoNV, (Display * dpy, GLXPbuffer pbuf, int iBufferType, unsigned long * pulCounterPbuffer, GLboolean bBlock), (dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock))
1493GEN_THUNKS_RET(Bool, glXSet3DfxModeMESA, (int mode), (mode))
1494GEN_THUNKS(glXSwapBuffers, (Display * dpy, GLXDrawable drawable), (dpy, drawable))
1495GEN_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))
1496GEN_THUNKS(glXSwapIntervalEXT, (Display * dpy, GLXDrawable drawable, int interval), (dpy, drawable, interval))
1497GEN_THUNKS_RET(int, glXSwapIntervalSGI, (int interval), (interval))
1498GEN_THUNKS(glXUseXFont, (Font font, int first, int count, int list), (font, first, count, list))
1499GEN_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))
1500GEN_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))
1501GEN_THUNKS(glXWaitGL, (void), ())
1502GEN_THUNKS_RET(int, glXWaitVideoSyncSGI, (int divisor, int remainder, unsigned int * count), (divisor, remainder, count))
1503GEN_THUNKS(glXWaitX, (void), ())
1504
1505#if USING_DISPATCH_TABLE
1506static struct dispatch_table resolver_table = {
1507    .glXBindChannelToWindowSGIX = epoxy_glXBindChannelToWindowSGIX_dispatch_table_rewrite_ptr,
1508    .glXBindHyperpipeSGIX = epoxy_glXBindHyperpipeSGIX_dispatch_table_rewrite_ptr,
1509    .glXBindSwapBarrierNV = epoxy_glXBindSwapBarrierNV_dispatch_table_rewrite_ptr,
1510    .glXBindSwapBarrierSGIX = epoxy_glXBindSwapBarrierSGIX_dispatch_table_rewrite_ptr,
1511    .glXBindTexImageEXT = epoxy_glXBindTexImageEXT_dispatch_table_rewrite_ptr,
1512    .glXBindVideoCaptureDeviceNV = epoxy_glXBindVideoCaptureDeviceNV_dispatch_table_rewrite_ptr,
1513    .glXBindVideoDeviceNV = epoxy_glXBindVideoDeviceNV_dispatch_table_rewrite_ptr,
1514    .glXBindVideoImageNV = epoxy_glXBindVideoImageNV_dispatch_table_rewrite_ptr,
1515    .glXBlitContextFramebufferAMD = epoxy_glXBlitContextFramebufferAMD_dispatch_table_rewrite_ptr,
1516    .glXChannelRectSGIX = epoxy_glXChannelRectSGIX_dispatch_table_rewrite_ptr,
1517    .glXChannelRectSyncSGIX = epoxy_glXChannelRectSyncSGIX_dispatch_table_rewrite_ptr,
1518    .glXChooseFBConfig = epoxy_glXChooseFBConfig_dispatch_table_rewrite_ptr,
1519    .glXChooseFBConfigSGIX = epoxy_glXChooseFBConfigSGIX_dispatch_table_rewrite_ptr,
1520    .glXChooseVisual = epoxy_glXChooseVisual_dispatch_table_rewrite_ptr,
1521    .glXCopyBufferSubDataNV = epoxy_glXCopyBufferSubDataNV_dispatch_table_rewrite_ptr,
1522    .glXCopyContext = epoxy_glXCopyContext_dispatch_table_rewrite_ptr,
1523    .glXCopyImageSubDataNV = epoxy_glXCopyImageSubDataNV_dispatch_table_rewrite_ptr,
1524    .glXCopySubBufferMESA = epoxy_glXCopySubBufferMESA_dispatch_table_rewrite_ptr,
1525    .glXCreateAssociatedContextAMD = epoxy_glXCreateAssociatedContextAMD_dispatch_table_rewrite_ptr,
1526    .glXCreateAssociatedContextAttribsAMD = epoxy_glXCreateAssociatedContextAttribsAMD_dispatch_table_rewrite_ptr,
1527    .glXCreateContext = epoxy_glXCreateContext_dispatch_table_rewrite_ptr,
1528    .glXCreateContextAttribsARB = epoxy_glXCreateContextAttribsARB_dispatch_table_rewrite_ptr,
1529    .glXCreateContextWithConfigSGIX = epoxy_glXCreateContextWithConfigSGIX_dispatch_table_rewrite_ptr,
1530    .glXCreateGLXPbufferSGIX = epoxy_glXCreateGLXPbufferSGIX_dispatch_table_rewrite_ptr,
1531    .glXCreateGLXPixmap = epoxy_glXCreateGLXPixmap_dispatch_table_rewrite_ptr,
1532    .glXCreateGLXPixmapMESA = epoxy_glXCreateGLXPixmapMESA_dispatch_table_rewrite_ptr,
1533    .glXCreateGLXPixmapWithConfigSGIX = epoxy_glXCreateGLXPixmapWithConfigSGIX_dispatch_table_rewrite_ptr,
1534    .glXCreateNewContext = epoxy_glXCreateNewContext_dispatch_table_rewrite_ptr,
1535    .glXCreatePbuffer = epoxy_glXCreatePbuffer_dispatch_table_rewrite_ptr,
1536    .glXCreatePixmap = epoxy_glXCreatePixmap_dispatch_table_rewrite_ptr,
1537    .glXCreateWindow = epoxy_glXCreateWindow_dispatch_table_rewrite_ptr,
1538    .glXCushionSGI = epoxy_glXCushionSGI_dispatch_table_rewrite_ptr,
1539    .glXDelayBeforeSwapNV = epoxy_glXDelayBeforeSwapNV_dispatch_table_rewrite_ptr,
1540    .glXDeleteAssociatedContextAMD = epoxy_glXDeleteAssociatedContextAMD_dispatch_table_rewrite_ptr,
1541    .glXDestroyContext = epoxy_glXDestroyContext_dispatch_table_rewrite_ptr,
1542    .glXDestroyGLXPbufferSGIX = epoxy_glXDestroyGLXPbufferSGIX_dispatch_table_rewrite_ptr,
1543    .glXDestroyGLXPixmap = epoxy_glXDestroyGLXPixmap_dispatch_table_rewrite_ptr,
1544    .glXDestroyGLXVideoSourceSGIX = epoxy_glXDestroyGLXVideoSourceSGIX_dispatch_table_rewrite_ptr,
1545    .glXDestroyHyperpipeConfigSGIX = epoxy_glXDestroyHyperpipeConfigSGIX_dispatch_table_rewrite_ptr,
1546    .glXDestroyPbuffer = epoxy_glXDestroyPbuffer_dispatch_table_rewrite_ptr,
1547    .glXDestroyPixmap = epoxy_glXDestroyPixmap_dispatch_table_rewrite_ptr,
1548    .glXDestroyWindow = epoxy_glXDestroyWindow_dispatch_table_rewrite_ptr,
1549    .glXEnumerateVideoCaptureDevicesNV = epoxy_glXEnumerateVideoCaptureDevicesNV_dispatch_table_rewrite_ptr,
1550    .glXEnumerateVideoDevicesNV = epoxy_glXEnumerateVideoDevicesNV_dispatch_table_rewrite_ptr,
1551    .glXFreeContextEXT = epoxy_glXFreeContextEXT_dispatch_table_rewrite_ptr,
1552    .glXGetAGPOffsetMESA = epoxy_glXGetAGPOffsetMESA_dispatch_table_rewrite_ptr,
1553    .glXGetClientString = epoxy_glXGetClientString_dispatch_table_rewrite_ptr,
1554    .glXGetConfig = epoxy_glXGetConfig_dispatch_table_rewrite_ptr,
1555    .glXGetContextGPUIDAMD = epoxy_glXGetContextGPUIDAMD_dispatch_table_rewrite_ptr,
1556    .glXGetContextIDEXT = epoxy_glXGetContextIDEXT_dispatch_table_rewrite_ptr,
1557    .glXGetCurrentAssociatedContextAMD = epoxy_glXGetCurrentAssociatedContextAMD_dispatch_table_rewrite_ptr,
1558    .glXGetCurrentContext = epoxy_glXGetCurrentContext_dispatch_table_rewrite_ptr,
1559    .glXGetCurrentDisplay = epoxy_glXGetCurrentDisplay_dispatch_table_rewrite_ptr,
1560    .glXGetCurrentDisplayEXT = epoxy_glXGetCurrentDisplayEXT_dispatch_table_rewrite_ptr,
1561    .glXGetCurrentDrawable = epoxy_glXGetCurrentDrawable_dispatch_table_rewrite_ptr,
1562    .glXGetCurrentReadDrawable = epoxy_glXGetCurrentReadDrawable_dispatch_table_rewrite_ptr,
1563    .glXGetCurrentReadDrawableSGI = epoxy_glXGetCurrentReadDrawableSGI_dispatch_table_rewrite_ptr,
1564    .glXGetFBConfigAttrib = epoxy_glXGetFBConfigAttrib_dispatch_table_rewrite_ptr,
1565    .glXGetFBConfigAttribSGIX = epoxy_glXGetFBConfigAttribSGIX_dispatch_table_rewrite_ptr,
1566    .glXGetFBConfigFromVisualSGIX = epoxy_glXGetFBConfigFromVisualSGIX_dispatch_table_rewrite_ptr,
1567    .glXGetFBConfigs = epoxy_glXGetFBConfigs_dispatch_table_rewrite_ptr,
1568    .glXGetGPUIDsAMD = epoxy_glXGetGPUIDsAMD_dispatch_table_rewrite_ptr,
1569    .glXGetGPUInfoAMD = epoxy_glXGetGPUInfoAMD_dispatch_table_rewrite_ptr,
1570    .glXGetMscRateOML = epoxy_glXGetMscRateOML_dispatch_table_rewrite_ptr,
1571    .glXGetProcAddress = epoxy_glXGetProcAddress_dispatch_table_rewrite_ptr,
1572    .glXGetProcAddressARB = epoxy_glXGetProcAddressARB_dispatch_table_rewrite_ptr,
1573    .glXGetSelectedEvent = epoxy_glXGetSelectedEvent_dispatch_table_rewrite_ptr,
1574    .glXGetSelectedEventSGIX = epoxy_glXGetSelectedEventSGIX_dispatch_table_rewrite_ptr,
1575    .glXGetSyncValuesOML = epoxy_glXGetSyncValuesOML_dispatch_table_rewrite_ptr,
1576    .glXGetTransparentIndexSUN = epoxy_glXGetTransparentIndexSUN_dispatch_table_rewrite_ptr,
1577    .glXGetVideoDeviceNV = epoxy_glXGetVideoDeviceNV_dispatch_table_rewrite_ptr,
1578    .glXGetVideoInfoNV = epoxy_glXGetVideoInfoNV_dispatch_table_rewrite_ptr,
1579    .glXGetVideoSyncSGI = epoxy_glXGetVideoSyncSGI_dispatch_table_rewrite_ptr,
1580    .glXGetVisualFromFBConfig = epoxy_glXGetVisualFromFBConfig_dispatch_table_rewrite_ptr,
1581    .glXGetVisualFromFBConfigSGIX = epoxy_glXGetVisualFromFBConfigSGIX_dispatch_table_rewrite_ptr,
1582    .glXHyperpipeAttribSGIX = epoxy_glXHyperpipeAttribSGIX_dispatch_table_rewrite_ptr,
1583    .glXHyperpipeConfigSGIX = epoxy_glXHyperpipeConfigSGIX_dispatch_table_rewrite_ptr,
1584    .glXImportContextEXT = epoxy_glXImportContextEXT_dispatch_table_rewrite_ptr,
1585    .glXIsDirect = epoxy_glXIsDirect_dispatch_table_rewrite_ptr,
1586    .glXJoinSwapGroupNV = epoxy_glXJoinSwapGroupNV_dispatch_table_rewrite_ptr,
1587    .glXJoinSwapGroupSGIX = epoxy_glXJoinSwapGroupSGIX_dispatch_table_rewrite_ptr,
1588    .glXLockVideoCaptureDeviceNV = epoxy_glXLockVideoCaptureDeviceNV_dispatch_table_rewrite_ptr,
1589    .glXMakeAssociatedContextCurrentAMD = epoxy_glXMakeAssociatedContextCurrentAMD_dispatch_table_rewrite_ptr,
1590    .glXMakeContextCurrent = epoxy_glXMakeContextCurrent_dispatch_table_rewrite_ptr,
1591    .glXMakeCurrent = epoxy_glXMakeCurrent_dispatch_table_rewrite_ptr,
1592    .glXMakeCurrentReadSGI = epoxy_glXMakeCurrentReadSGI_dispatch_table_rewrite_ptr,
1593    .glXNamedCopyBufferSubDataNV = epoxy_glXNamedCopyBufferSubDataNV_dispatch_table_rewrite_ptr,
1594    .glXQueryChannelDeltasSGIX = epoxy_glXQueryChannelDeltasSGIX_dispatch_table_rewrite_ptr,
1595    .glXQueryChannelRectSGIX = epoxy_glXQueryChannelRectSGIX_dispatch_table_rewrite_ptr,
1596    .glXQueryContext = epoxy_glXQueryContext_dispatch_table_rewrite_ptr,
1597    .glXQueryContextInfoEXT = epoxy_glXQueryContextInfoEXT_dispatch_table_rewrite_ptr,
1598    .glXQueryCurrentRendererIntegerMESA = epoxy_glXQueryCurrentRendererIntegerMESA_dispatch_table_rewrite_ptr,
1599    .glXQueryCurrentRendererStringMESA = epoxy_glXQueryCurrentRendererStringMESA_dispatch_table_rewrite_ptr,
1600    .glXQueryDrawable = epoxy_glXQueryDrawable_dispatch_table_rewrite_ptr,
1601    .glXQueryExtension = epoxy_glXQueryExtension_dispatch_table_rewrite_ptr,
1602    .glXQueryExtensionsString = epoxy_glXQueryExtensionsString_dispatch_table_rewrite_ptr,
1603    .glXQueryFrameCountNV = epoxy_glXQueryFrameCountNV_dispatch_table_rewrite_ptr,
1604    .glXQueryGLXPbufferSGIX = epoxy_glXQueryGLXPbufferSGIX_dispatch_table_rewrite_ptr,
1605    .glXQueryHyperpipeAttribSGIX = epoxy_glXQueryHyperpipeAttribSGIX_dispatch_table_rewrite_ptr,
1606    .glXQueryHyperpipeBestAttribSGIX = epoxy_glXQueryHyperpipeBestAttribSGIX_dispatch_table_rewrite_ptr,
1607    .glXQueryHyperpipeConfigSGIX = epoxy_glXQueryHyperpipeConfigSGIX_dispatch_table_rewrite_ptr,
1608    .glXQueryHyperpipeNetworkSGIX = epoxy_glXQueryHyperpipeNetworkSGIX_dispatch_table_rewrite_ptr,
1609    .glXQueryMaxSwapBarriersSGIX = epoxy_glXQueryMaxSwapBarriersSGIX_dispatch_table_rewrite_ptr,
1610    .glXQueryMaxSwapGroupsNV = epoxy_glXQueryMaxSwapGroupsNV_dispatch_table_rewrite_ptr,
1611    .glXQueryRendererIntegerMESA = epoxy_glXQueryRendererIntegerMESA_dispatch_table_rewrite_ptr,
1612    .glXQueryRendererStringMESA = epoxy_glXQueryRendererStringMESA_dispatch_table_rewrite_ptr,
1613    .glXQueryServerString = epoxy_glXQueryServerString_dispatch_table_rewrite_ptr,
1614    .glXQuerySwapGroupNV = epoxy_glXQuerySwapGroupNV_dispatch_table_rewrite_ptr,
1615    .glXQueryVersion = epoxy_glXQueryVersion_dispatch_table_rewrite_ptr,
1616    .glXQueryVideoCaptureDeviceNV = epoxy_glXQueryVideoCaptureDeviceNV_dispatch_table_rewrite_ptr,
1617    .glXReleaseBuffersMESA = epoxy_glXReleaseBuffersMESA_dispatch_table_rewrite_ptr,
1618    .glXReleaseTexImageEXT = epoxy_glXReleaseTexImageEXT_dispatch_table_rewrite_ptr,
1619    .glXReleaseVideoCaptureDeviceNV = epoxy_glXReleaseVideoCaptureDeviceNV_dispatch_table_rewrite_ptr,
1620    .glXReleaseVideoDeviceNV = epoxy_glXReleaseVideoDeviceNV_dispatch_table_rewrite_ptr,
1621    .glXReleaseVideoImageNV = epoxy_glXReleaseVideoImageNV_dispatch_table_rewrite_ptr,
1622    .glXResetFrameCountNV = epoxy_glXResetFrameCountNV_dispatch_table_rewrite_ptr,
1623    .glXSelectEvent = epoxy_glXSelectEvent_dispatch_table_rewrite_ptr,
1624    .glXSelectEventSGIX = epoxy_glXSelectEventSGIX_dispatch_table_rewrite_ptr,
1625    .glXSendPbufferToVideoNV = epoxy_glXSendPbufferToVideoNV_dispatch_table_rewrite_ptr,
1626    .glXSet3DfxModeMESA = epoxy_glXSet3DfxModeMESA_dispatch_table_rewrite_ptr,
1627    .glXSwapBuffers = epoxy_glXSwapBuffers_dispatch_table_rewrite_ptr,
1628    .glXSwapBuffersMscOML = epoxy_glXSwapBuffersMscOML_dispatch_table_rewrite_ptr,
1629    .glXSwapIntervalEXT = epoxy_glXSwapIntervalEXT_dispatch_table_rewrite_ptr,
1630    .glXSwapIntervalSGI = epoxy_glXSwapIntervalSGI_dispatch_table_rewrite_ptr,
1631    .glXUseXFont = epoxy_glXUseXFont_dispatch_table_rewrite_ptr,
1632    .glXWaitForMscOML = epoxy_glXWaitForMscOML_dispatch_table_rewrite_ptr,
1633    .glXWaitForSbcOML = epoxy_glXWaitForSbcOML_dispatch_table_rewrite_ptr,
1634    .glXWaitGL = epoxy_glXWaitGL_dispatch_table_rewrite_ptr,
1635    .glXWaitVideoSyncSGI = epoxy_glXWaitVideoSyncSGI_dispatch_table_rewrite_ptr,
1636    .glXWaitX = epoxy_glXWaitX_dispatch_table_rewrite_ptr,
1637};
1638
1639uint32_t glx_tls_index;
1640uint32_t glx_tls_size = sizeof(struct dispatch_table);
1641
1642static inline struct dispatch_table *
1643get_dispatch_table(void)
1644{
1645	return TlsGetValue(glx_tls_index);
1646}
1647
1648void
1649glx_init_dispatch_table(void)
1650{
1651    struct dispatch_table *dispatch_table = get_dispatch_table();
1652    memcpy(dispatch_table, &resolver_table, sizeof(resolver_table));
1653}
1654
1655void
1656glx_switch_to_dispatch_table(void)
1657{
1658    epoxy_glXBindChannelToWindowSGIX = epoxy_glXBindChannelToWindowSGIX_dispatch_table_thunk;
1659    epoxy_glXBindHyperpipeSGIX = epoxy_glXBindHyperpipeSGIX_dispatch_table_thunk;
1660    epoxy_glXBindSwapBarrierNV = epoxy_glXBindSwapBarrierNV_dispatch_table_thunk;
1661    epoxy_glXBindSwapBarrierSGIX = epoxy_glXBindSwapBarrierSGIX_dispatch_table_thunk;
1662    epoxy_glXBindTexImageEXT = epoxy_glXBindTexImageEXT_dispatch_table_thunk;
1663    epoxy_glXBindVideoCaptureDeviceNV = epoxy_glXBindVideoCaptureDeviceNV_dispatch_table_thunk;
1664    epoxy_glXBindVideoDeviceNV = epoxy_glXBindVideoDeviceNV_dispatch_table_thunk;
1665    epoxy_glXBindVideoImageNV = epoxy_glXBindVideoImageNV_dispatch_table_thunk;
1666    epoxy_glXBlitContextFramebufferAMD = epoxy_glXBlitContextFramebufferAMD_dispatch_table_thunk;
1667    epoxy_glXChannelRectSGIX = epoxy_glXChannelRectSGIX_dispatch_table_thunk;
1668    epoxy_glXChannelRectSyncSGIX = epoxy_glXChannelRectSyncSGIX_dispatch_table_thunk;
1669    epoxy_glXChooseFBConfig = epoxy_glXChooseFBConfig_dispatch_table_thunk;
1670    epoxy_glXChooseFBConfigSGIX = epoxy_glXChooseFBConfigSGIX_dispatch_table_thunk;
1671    epoxy_glXChooseVisual = epoxy_glXChooseVisual_dispatch_table_thunk;
1672    epoxy_glXCopyBufferSubDataNV = epoxy_glXCopyBufferSubDataNV_dispatch_table_thunk;
1673    epoxy_glXCopyContext = epoxy_glXCopyContext_dispatch_table_thunk;
1674    epoxy_glXCopyImageSubDataNV = epoxy_glXCopyImageSubDataNV_dispatch_table_thunk;
1675    epoxy_glXCopySubBufferMESA = epoxy_glXCopySubBufferMESA_dispatch_table_thunk;
1676    epoxy_glXCreateAssociatedContextAMD = epoxy_glXCreateAssociatedContextAMD_dispatch_table_thunk;
1677    epoxy_glXCreateAssociatedContextAttribsAMD = epoxy_glXCreateAssociatedContextAttribsAMD_dispatch_table_thunk;
1678    epoxy_glXCreateContext = epoxy_glXCreateContext_dispatch_table_thunk;
1679    epoxy_glXCreateContextAttribsARB = epoxy_glXCreateContextAttribsARB_dispatch_table_thunk;
1680    epoxy_glXCreateContextWithConfigSGIX = epoxy_glXCreateContextWithConfigSGIX_dispatch_table_thunk;
1681    epoxy_glXCreateGLXPbufferSGIX = epoxy_glXCreateGLXPbufferSGIX_dispatch_table_thunk;
1682    epoxy_glXCreateGLXPixmap = epoxy_glXCreateGLXPixmap_dispatch_table_thunk;
1683    epoxy_glXCreateGLXPixmapMESA = epoxy_glXCreateGLXPixmapMESA_dispatch_table_thunk;
1684    epoxy_glXCreateGLXPixmapWithConfigSGIX = epoxy_glXCreateGLXPixmapWithConfigSGIX_dispatch_table_thunk;
1685    epoxy_glXCreateNewContext = epoxy_glXCreateNewContext_dispatch_table_thunk;
1686    epoxy_glXCreatePbuffer = epoxy_glXCreatePbuffer_dispatch_table_thunk;
1687    epoxy_glXCreatePixmap = epoxy_glXCreatePixmap_dispatch_table_thunk;
1688    epoxy_glXCreateWindow = epoxy_glXCreateWindow_dispatch_table_thunk;
1689    epoxy_glXCushionSGI = epoxy_glXCushionSGI_dispatch_table_thunk;
1690    epoxy_glXDelayBeforeSwapNV = epoxy_glXDelayBeforeSwapNV_dispatch_table_thunk;
1691    epoxy_glXDeleteAssociatedContextAMD = epoxy_glXDeleteAssociatedContextAMD_dispatch_table_thunk;
1692    epoxy_glXDestroyContext = epoxy_glXDestroyContext_dispatch_table_thunk;
1693    epoxy_glXDestroyGLXPbufferSGIX = epoxy_glXDestroyGLXPbufferSGIX_dispatch_table_thunk;
1694    epoxy_glXDestroyGLXPixmap = epoxy_glXDestroyGLXPixmap_dispatch_table_thunk;
1695    epoxy_glXDestroyGLXVideoSourceSGIX = epoxy_glXDestroyGLXVideoSourceSGIX_dispatch_table_thunk;
1696    epoxy_glXDestroyHyperpipeConfigSGIX = epoxy_glXDestroyHyperpipeConfigSGIX_dispatch_table_thunk;
1697    epoxy_glXDestroyPbuffer = epoxy_glXDestroyPbuffer_dispatch_table_thunk;
1698    epoxy_glXDestroyPixmap = epoxy_glXDestroyPixmap_dispatch_table_thunk;
1699    epoxy_glXDestroyWindow = epoxy_glXDestroyWindow_dispatch_table_thunk;
1700    epoxy_glXEnumerateVideoCaptureDevicesNV = epoxy_glXEnumerateVideoCaptureDevicesNV_dispatch_table_thunk;
1701    epoxy_glXEnumerateVideoDevicesNV = epoxy_glXEnumerateVideoDevicesNV_dispatch_table_thunk;
1702    epoxy_glXFreeContextEXT = epoxy_glXFreeContextEXT_dispatch_table_thunk;
1703    epoxy_glXGetAGPOffsetMESA = epoxy_glXGetAGPOffsetMESA_dispatch_table_thunk;
1704    epoxy_glXGetClientString = epoxy_glXGetClientString_dispatch_table_thunk;
1705    epoxy_glXGetConfig = epoxy_glXGetConfig_dispatch_table_thunk;
1706    epoxy_glXGetContextGPUIDAMD = epoxy_glXGetContextGPUIDAMD_dispatch_table_thunk;
1707    epoxy_glXGetContextIDEXT = epoxy_glXGetContextIDEXT_dispatch_table_thunk;
1708    epoxy_glXGetCurrentAssociatedContextAMD = epoxy_glXGetCurrentAssociatedContextAMD_dispatch_table_thunk;
1709    epoxy_glXGetCurrentContext = epoxy_glXGetCurrentContext_dispatch_table_thunk;
1710    epoxy_glXGetCurrentDisplay = epoxy_glXGetCurrentDisplay_dispatch_table_thunk;
1711    epoxy_glXGetCurrentDisplayEXT = epoxy_glXGetCurrentDisplayEXT_dispatch_table_thunk;
1712    epoxy_glXGetCurrentDrawable = epoxy_glXGetCurrentDrawable_dispatch_table_thunk;
1713    epoxy_glXGetCurrentReadDrawable = epoxy_glXGetCurrentReadDrawable_dispatch_table_thunk;
1714    epoxy_glXGetCurrentReadDrawableSGI = epoxy_glXGetCurrentReadDrawableSGI_dispatch_table_thunk;
1715    epoxy_glXGetFBConfigAttrib = epoxy_glXGetFBConfigAttrib_dispatch_table_thunk;
1716    epoxy_glXGetFBConfigAttribSGIX = epoxy_glXGetFBConfigAttribSGIX_dispatch_table_thunk;
1717    epoxy_glXGetFBConfigFromVisualSGIX = epoxy_glXGetFBConfigFromVisualSGIX_dispatch_table_thunk;
1718    epoxy_glXGetFBConfigs = epoxy_glXGetFBConfigs_dispatch_table_thunk;
1719    epoxy_glXGetGPUIDsAMD = epoxy_glXGetGPUIDsAMD_dispatch_table_thunk;
1720    epoxy_glXGetGPUInfoAMD = epoxy_glXGetGPUInfoAMD_dispatch_table_thunk;
1721    epoxy_glXGetMscRateOML = epoxy_glXGetMscRateOML_dispatch_table_thunk;
1722    epoxy_glXGetProcAddress = epoxy_glXGetProcAddress_dispatch_table_thunk;
1723    epoxy_glXGetProcAddressARB = epoxy_glXGetProcAddressARB_dispatch_table_thunk;
1724    epoxy_glXGetSelectedEvent = epoxy_glXGetSelectedEvent_dispatch_table_thunk;
1725    epoxy_glXGetSelectedEventSGIX = epoxy_glXGetSelectedEventSGIX_dispatch_table_thunk;
1726    epoxy_glXGetSyncValuesOML = epoxy_glXGetSyncValuesOML_dispatch_table_thunk;
1727    epoxy_glXGetTransparentIndexSUN = epoxy_glXGetTransparentIndexSUN_dispatch_table_thunk;
1728    epoxy_glXGetVideoDeviceNV = epoxy_glXGetVideoDeviceNV_dispatch_table_thunk;
1729    epoxy_glXGetVideoInfoNV = epoxy_glXGetVideoInfoNV_dispatch_table_thunk;
1730    epoxy_glXGetVideoSyncSGI = epoxy_glXGetVideoSyncSGI_dispatch_table_thunk;
1731    epoxy_glXGetVisualFromFBConfig = epoxy_glXGetVisualFromFBConfig_dispatch_table_thunk;
1732    epoxy_glXGetVisualFromFBConfigSGIX = epoxy_glXGetVisualFromFBConfigSGIX_dispatch_table_thunk;
1733    epoxy_glXHyperpipeAttribSGIX = epoxy_glXHyperpipeAttribSGIX_dispatch_table_thunk;
1734    epoxy_glXHyperpipeConfigSGIX = epoxy_glXHyperpipeConfigSGIX_dispatch_table_thunk;
1735    epoxy_glXImportContextEXT = epoxy_glXImportContextEXT_dispatch_table_thunk;
1736    epoxy_glXIsDirect = epoxy_glXIsDirect_dispatch_table_thunk;
1737    epoxy_glXJoinSwapGroupNV = epoxy_glXJoinSwapGroupNV_dispatch_table_thunk;
1738    epoxy_glXJoinSwapGroupSGIX = epoxy_glXJoinSwapGroupSGIX_dispatch_table_thunk;
1739    epoxy_glXLockVideoCaptureDeviceNV = epoxy_glXLockVideoCaptureDeviceNV_dispatch_table_thunk;
1740    epoxy_glXMakeAssociatedContextCurrentAMD = epoxy_glXMakeAssociatedContextCurrentAMD_dispatch_table_thunk;
1741    epoxy_glXMakeContextCurrent = epoxy_glXMakeContextCurrent_dispatch_table_thunk;
1742    epoxy_glXMakeCurrent = epoxy_glXMakeCurrent_dispatch_table_thunk;
1743    epoxy_glXMakeCurrentReadSGI = epoxy_glXMakeCurrentReadSGI_dispatch_table_thunk;
1744    epoxy_glXNamedCopyBufferSubDataNV = epoxy_glXNamedCopyBufferSubDataNV_dispatch_table_thunk;
1745    epoxy_glXQueryChannelDeltasSGIX = epoxy_glXQueryChannelDeltasSGIX_dispatch_table_thunk;
1746    epoxy_glXQueryChannelRectSGIX = epoxy_glXQueryChannelRectSGIX_dispatch_table_thunk;
1747    epoxy_glXQueryContext = epoxy_glXQueryContext_dispatch_table_thunk;
1748    epoxy_glXQueryContextInfoEXT = epoxy_glXQueryContextInfoEXT_dispatch_table_thunk;
1749    epoxy_glXQueryCurrentRendererIntegerMESA = epoxy_glXQueryCurrentRendererIntegerMESA_dispatch_table_thunk;
1750    epoxy_glXQueryCurrentRendererStringMESA = epoxy_glXQueryCurrentRendererStringMESA_dispatch_table_thunk;
1751    epoxy_glXQueryDrawable = epoxy_glXQueryDrawable_dispatch_table_thunk;
1752    epoxy_glXQueryExtension = epoxy_glXQueryExtension_dispatch_table_thunk;
1753    epoxy_glXQueryExtensionsString = epoxy_glXQueryExtensionsString_dispatch_table_thunk;
1754    epoxy_glXQueryFrameCountNV = epoxy_glXQueryFrameCountNV_dispatch_table_thunk;
1755    epoxy_glXQueryGLXPbufferSGIX = epoxy_glXQueryGLXPbufferSGIX_dispatch_table_thunk;
1756    epoxy_glXQueryHyperpipeAttribSGIX = epoxy_glXQueryHyperpipeAttribSGIX_dispatch_table_thunk;
1757    epoxy_glXQueryHyperpipeBestAttribSGIX = epoxy_glXQueryHyperpipeBestAttribSGIX_dispatch_table_thunk;
1758    epoxy_glXQueryHyperpipeConfigSGIX = epoxy_glXQueryHyperpipeConfigSGIX_dispatch_table_thunk;
1759    epoxy_glXQueryHyperpipeNetworkSGIX = epoxy_glXQueryHyperpipeNetworkSGIX_dispatch_table_thunk;
1760    epoxy_glXQueryMaxSwapBarriersSGIX = epoxy_glXQueryMaxSwapBarriersSGIX_dispatch_table_thunk;
1761    epoxy_glXQueryMaxSwapGroupsNV = epoxy_glXQueryMaxSwapGroupsNV_dispatch_table_thunk;
1762    epoxy_glXQueryRendererIntegerMESA = epoxy_glXQueryRendererIntegerMESA_dispatch_table_thunk;
1763    epoxy_glXQueryRendererStringMESA = epoxy_glXQueryRendererStringMESA_dispatch_table_thunk;
1764    epoxy_glXQueryServerString = epoxy_glXQueryServerString_dispatch_table_thunk;
1765    epoxy_glXQuerySwapGroupNV = epoxy_glXQuerySwapGroupNV_dispatch_table_thunk;
1766    epoxy_glXQueryVersion = epoxy_glXQueryVersion_dispatch_table_thunk;
1767    epoxy_glXQueryVideoCaptureDeviceNV = epoxy_glXQueryVideoCaptureDeviceNV_dispatch_table_thunk;
1768    epoxy_glXReleaseBuffersMESA = epoxy_glXReleaseBuffersMESA_dispatch_table_thunk;
1769    epoxy_glXReleaseTexImageEXT = epoxy_glXReleaseTexImageEXT_dispatch_table_thunk;
1770    epoxy_glXReleaseVideoCaptureDeviceNV = epoxy_glXReleaseVideoCaptureDeviceNV_dispatch_table_thunk;
1771    epoxy_glXReleaseVideoDeviceNV = epoxy_glXReleaseVideoDeviceNV_dispatch_table_thunk;
1772    epoxy_glXReleaseVideoImageNV = epoxy_glXReleaseVideoImageNV_dispatch_table_thunk;
1773    epoxy_glXResetFrameCountNV = epoxy_glXResetFrameCountNV_dispatch_table_thunk;
1774    epoxy_glXSelectEvent = epoxy_glXSelectEvent_dispatch_table_thunk;
1775    epoxy_glXSelectEventSGIX = epoxy_glXSelectEventSGIX_dispatch_table_thunk;
1776    epoxy_glXSendPbufferToVideoNV = epoxy_glXSendPbufferToVideoNV_dispatch_table_thunk;
1777    epoxy_glXSet3DfxModeMESA = epoxy_glXSet3DfxModeMESA_dispatch_table_thunk;
1778    epoxy_glXSwapBuffers = epoxy_glXSwapBuffers_dispatch_table_thunk;
1779    epoxy_glXSwapBuffersMscOML = epoxy_glXSwapBuffersMscOML_dispatch_table_thunk;
1780    epoxy_glXSwapIntervalEXT = epoxy_glXSwapIntervalEXT_dispatch_table_thunk;
1781    epoxy_glXSwapIntervalSGI = epoxy_glXSwapIntervalSGI_dispatch_table_thunk;
1782    epoxy_glXUseXFont = epoxy_glXUseXFont_dispatch_table_thunk;
1783    epoxy_glXWaitForMscOML = epoxy_glXWaitForMscOML_dispatch_table_thunk;
1784    epoxy_glXWaitForSbcOML = epoxy_glXWaitForSbcOML_dispatch_table_thunk;
1785    epoxy_glXWaitGL = epoxy_glXWaitGL_dispatch_table_thunk;
1786    epoxy_glXWaitVideoSyncSGI = epoxy_glXWaitVideoSyncSGI_dispatch_table_thunk;
1787    epoxy_glXWaitX = epoxy_glXWaitX_dispatch_table_thunk;
1788}
1789
1790#endif /* !USING_DISPATCH_TABLE */
1791PUBLIC PFNGLXBINDCHANNELTOWINDOWSGIXPROC epoxy_glXBindChannelToWindowSGIX = epoxy_glXBindChannelToWindowSGIX_global_rewrite_ptr;
1792
1793PUBLIC PFNGLXBINDHYPERPIPESGIXPROC epoxy_glXBindHyperpipeSGIX = epoxy_glXBindHyperpipeSGIX_global_rewrite_ptr;
1794
1795PUBLIC PFNGLXBINDSWAPBARRIERNVPROC epoxy_glXBindSwapBarrierNV = epoxy_glXBindSwapBarrierNV_global_rewrite_ptr;
1796
1797PUBLIC PFNGLXBINDSWAPBARRIERSGIXPROC epoxy_glXBindSwapBarrierSGIX = epoxy_glXBindSwapBarrierSGIX_global_rewrite_ptr;
1798
1799PUBLIC PFNGLXBINDTEXIMAGEEXTPROC epoxy_glXBindTexImageEXT = epoxy_glXBindTexImageEXT_global_rewrite_ptr;
1800
1801PUBLIC PFNGLXBINDVIDEOCAPTUREDEVICENVPROC epoxy_glXBindVideoCaptureDeviceNV = epoxy_glXBindVideoCaptureDeviceNV_global_rewrite_ptr;
1802
1803PUBLIC PFNGLXBINDVIDEODEVICENVPROC epoxy_glXBindVideoDeviceNV = epoxy_glXBindVideoDeviceNV_global_rewrite_ptr;
1804
1805PUBLIC PFNGLXBINDVIDEOIMAGENVPROC epoxy_glXBindVideoImageNV = epoxy_glXBindVideoImageNV_global_rewrite_ptr;
1806
1807PUBLIC PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC epoxy_glXBlitContextFramebufferAMD = epoxy_glXBlitContextFramebufferAMD_global_rewrite_ptr;
1808
1809PUBLIC PFNGLXCHANNELRECTSGIXPROC epoxy_glXChannelRectSGIX = epoxy_glXChannelRectSGIX_global_rewrite_ptr;
1810
1811PUBLIC PFNGLXCHANNELRECTSYNCSGIXPROC epoxy_glXChannelRectSyncSGIX = epoxy_glXChannelRectSyncSGIX_global_rewrite_ptr;
1812
1813PUBLIC PFNGLXCHOOSEFBCONFIGPROC epoxy_glXChooseFBConfig = epoxy_glXChooseFBConfig_global_rewrite_ptr;
1814
1815PUBLIC PFNGLXCHOOSEFBCONFIGSGIXPROC epoxy_glXChooseFBConfigSGIX = epoxy_glXChooseFBConfigSGIX_global_rewrite_ptr;
1816
1817PUBLIC PFNGLXCHOOSEVISUALPROC epoxy_glXChooseVisual = epoxy_glXChooseVisual_global_rewrite_ptr;
1818
1819PUBLIC PFNGLXCOPYBUFFERSUBDATANVPROC epoxy_glXCopyBufferSubDataNV = epoxy_glXCopyBufferSubDataNV_global_rewrite_ptr;
1820
1821PUBLIC PFNGLXCOPYCONTEXTPROC epoxy_glXCopyContext = epoxy_glXCopyContext_global_rewrite_ptr;
1822
1823PUBLIC PFNGLXCOPYIMAGESUBDATANVPROC epoxy_glXCopyImageSubDataNV = epoxy_glXCopyImageSubDataNV_global_rewrite_ptr;
1824
1825PUBLIC PFNGLXCOPYSUBBUFFERMESAPROC epoxy_glXCopySubBufferMESA = epoxy_glXCopySubBufferMESA_global_rewrite_ptr;
1826
1827PUBLIC PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC epoxy_glXCreateAssociatedContextAMD = epoxy_glXCreateAssociatedContextAMD_global_rewrite_ptr;
1828
1829PUBLIC PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC epoxy_glXCreateAssociatedContextAttribsAMD = epoxy_glXCreateAssociatedContextAttribsAMD_global_rewrite_ptr;
1830
1831PUBLIC PFNGLXCREATECONTEXTPROC epoxy_glXCreateContext = epoxy_glXCreateContext_global_rewrite_ptr;
1832
1833PUBLIC PFNGLXCREATECONTEXTATTRIBSARBPROC epoxy_glXCreateContextAttribsARB = epoxy_glXCreateContextAttribsARB_global_rewrite_ptr;
1834
1835PUBLIC PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC epoxy_glXCreateContextWithConfigSGIX = epoxy_glXCreateContextWithConfigSGIX_global_rewrite_ptr;
1836
1837PUBLIC PFNGLXCREATEGLXPBUFFERSGIXPROC epoxy_glXCreateGLXPbufferSGIX = epoxy_glXCreateGLXPbufferSGIX_global_rewrite_ptr;
1838
1839PUBLIC PFNGLXCREATEGLXPIXMAPPROC epoxy_glXCreateGLXPixmap = epoxy_glXCreateGLXPixmap_global_rewrite_ptr;
1840
1841PUBLIC PFNGLXCREATEGLXPIXMAPMESAPROC epoxy_glXCreateGLXPixmapMESA = epoxy_glXCreateGLXPixmapMESA_global_rewrite_ptr;
1842
1843PUBLIC PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC epoxy_glXCreateGLXPixmapWithConfigSGIX = epoxy_glXCreateGLXPixmapWithConfigSGIX_global_rewrite_ptr;
1844
1845PUBLIC PFNGLXCREATENEWCONTEXTPROC epoxy_glXCreateNewContext = epoxy_glXCreateNewContext_global_rewrite_ptr;
1846
1847PUBLIC PFNGLXCREATEPBUFFERPROC epoxy_glXCreatePbuffer = epoxy_glXCreatePbuffer_global_rewrite_ptr;
1848
1849PUBLIC PFNGLXCREATEPIXMAPPROC epoxy_glXCreatePixmap = epoxy_glXCreatePixmap_global_rewrite_ptr;
1850
1851PUBLIC PFNGLXCREATEWINDOWPROC epoxy_glXCreateWindow = epoxy_glXCreateWindow_global_rewrite_ptr;
1852
1853PUBLIC PFNGLXCUSHIONSGIPROC epoxy_glXCushionSGI = epoxy_glXCushionSGI_global_rewrite_ptr;
1854
1855PUBLIC PFNGLXDELAYBEFORESWAPNVPROC epoxy_glXDelayBeforeSwapNV = epoxy_glXDelayBeforeSwapNV_global_rewrite_ptr;
1856
1857PUBLIC PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC epoxy_glXDeleteAssociatedContextAMD = epoxy_glXDeleteAssociatedContextAMD_global_rewrite_ptr;
1858
1859PUBLIC PFNGLXDESTROYCONTEXTPROC epoxy_glXDestroyContext = epoxy_glXDestroyContext_global_rewrite_ptr;
1860
1861PUBLIC PFNGLXDESTROYGLXPBUFFERSGIXPROC epoxy_glXDestroyGLXPbufferSGIX = epoxy_glXDestroyGLXPbufferSGIX_global_rewrite_ptr;
1862
1863PUBLIC PFNGLXDESTROYGLXPIXMAPPROC epoxy_glXDestroyGLXPixmap = epoxy_glXDestroyGLXPixmap_global_rewrite_ptr;
1864
1865PUBLIC PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC epoxy_glXDestroyGLXVideoSourceSGIX = epoxy_glXDestroyGLXVideoSourceSGIX_global_rewrite_ptr;
1866
1867PUBLIC PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC epoxy_glXDestroyHyperpipeConfigSGIX = epoxy_glXDestroyHyperpipeConfigSGIX_global_rewrite_ptr;
1868
1869PUBLIC PFNGLXDESTROYPBUFFERPROC epoxy_glXDestroyPbuffer = epoxy_glXDestroyPbuffer_global_rewrite_ptr;
1870
1871PUBLIC PFNGLXDESTROYPIXMAPPROC epoxy_glXDestroyPixmap = epoxy_glXDestroyPixmap_global_rewrite_ptr;
1872
1873PUBLIC PFNGLXDESTROYWINDOWPROC epoxy_glXDestroyWindow = epoxy_glXDestroyWindow_global_rewrite_ptr;
1874
1875PUBLIC PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC epoxy_glXEnumerateVideoCaptureDevicesNV = epoxy_glXEnumerateVideoCaptureDevicesNV_global_rewrite_ptr;
1876
1877PUBLIC PFNGLXENUMERATEVIDEODEVICESNVPROC epoxy_glXEnumerateVideoDevicesNV = epoxy_glXEnumerateVideoDevicesNV_global_rewrite_ptr;
1878
1879PUBLIC PFNGLXFREECONTEXTEXTPROC epoxy_glXFreeContextEXT = epoxy_glXFreeContextEXT_global_rewrite_ptr;
1880
1881PUBLIC PFNGLXGETAGPOFFSETMESAPROC epoxy_glXGetAGPOffsetMESA = epoxy_glXGetAGPOffsetMESA_global_rewrite_ptr;
1882
1883PUBLIC PFNGLXGETCLIENTSTRINGPROC epoxy_glXGetClientString = epoxy_glXGetClientString_global_rewrite_ptr;
1884
1885PUBLIC PFNGLXGETCONFIGPROC epoxy_glXGetConfig = epoxy_glXGetConfig_global_rewrite_ptr;
1886
1887PUBLIC PFNGLXGETCONTEXTGPUIDAMDPROC epoxy_glXGetContextGPUIDAMD = epoxy_glXGetContextGPUIDAMD_global_rewrite_ptr;
1888
1889PUBLIC PFNGLXGETCONTEXTIDEXTPROC epoxy_glXGetContextIDEXT = epoxy_glXGetContextIDEXT_global_rewrite_ptr;
1890
1891PUBLIC PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC epoxy_glXGetCurrentAssociatedContextAMD = epoxy_glXGetCurrentAssociatedContextAMD_global_rewrite_ptr;
1892
1893PUBLIC PFNGLXGETCURRENTCONTEXTPROC epoxy_glXGetCurrentContext = epoxy_glXGetCurrentContext_global_rewrite_ptr;
1894
1895PUBLIC PFNGLXGETCURRENTDISPLAYPROC epoxy_glXGetCurrentDisplay = epoxy_glXGetCurrentDisplay_global_rewrite_ptr;
1896
1897PUBLIC PFNGLXGETCURRENTDISPLAYEXTPROC epoxy_glXGetCurrentDisplayEXT = epoxy_glXGetCurrentDisplayEXT_global_rewrite_ptr;
1898
1899PUBLIC PFNGLXGETCURRENTDRAWABLEPROC epoxy_glXGetCurrentDrawable = epoxy_glXGetCurrentDrawable_global_rewrite_ptr;
1900
1901PUBLIC PFNGLXGETCURRENTREADDRAWABLEPROC epoxy_glXGetCurrentReadDrawable = epoxy_glXGetCurrentReadDrawable_global_rewrite_ptr;
1902
1903PUBLIC PFNGLXGETCURRENTREADDRAWABLESGIPROC epoxy_glXGetCurrentReadDrawableSGI = epoxy_glXGetCurrentReadDrawableSGI_global_rewrite_ptr;
1904
1905PUBLIC PFNGLXGETFBCONFIGATTRIBPROC epoxy_glXGetFBConfigAttrib = epoxy_glXGetFBConfigAttrib_global_rewrite_ptr;
1906
1907PUBLIC PFNGLXGETFBCONFIGATTRIBSGIXPROC epoxy_glXGetFBConfigAttribSGIX = epoxy_glXGetFBConfigAttribSGIX_global_rewrite_ptr;
1908
1909PUBLIC PFNGLXGETFBCONFIGFROMVISUALSGIXPROC epoxy_glXGetFBConfigFromVisualSGIX = epoxy_glXGetFBConfigFromVisualSGIX_global_rewrite_ptr;
1910
1911PUBLIC PFNGLXGETFBCONFIGSPROC epoxy_glXGetFBConfigs = epoxy_glXGetFBConfigs_global_rewrite_ptr;
1912
1913PUBLIC PFNGLXGETGPUIDSAMDPROC epoxy_glXGetGPUIDsAMD = epoxy_glXGetGPUIDsAMD_global_rewrite_ptr;
1914
1915PUBLIC PFNGLXGETGPUINFOAMDPROC epoxy_glXGetGPUInfoAMD = epoxy_glXGetGPUInfoAMD_global_rewrite_ptr;
1916
1917PUBLIC PFNGLXGETMSCRATEOMLPROC epoxy_glXGetMscRateOML = epoxy_glXGetMscRateOML_global_rewrite_ptr;
1918
1919PUBLIC PFNGLXGETPROCADDRESSPROC epoxy_glXGetProcAddress = epoxy_glXGetProcAddress_global_rewrite_ptr;
1920
1921PUBLIC PFNGLXGETPROCADDRESSARBPROC epoxy_glXGetProcAddressARB = epoxy_glXGetProcAddressARB_global_rewrite_ptr;
1922
1923PUBLIC PFNGLXGETSELECTEDEVENTPROC epoxy_glXGetSelectedEvent = epoxy_glXGetSelectedEvent_global_rewrite_ptr;
1924
1925PUBLIC PFNGLXGETSELECTEDEVENTSGIXPROC epoxy_glXGetSelectedEventSGIX = epoxy_glXGetSelectedEventSGIX_global_rewrite_ptr;
1926
1927PUBLIC PFNGLXGETSYNCVALUESOMLPROC epoxy_glXGetSyncValuesOML = epoxy_glXGetSyncValuesOML_global_rewrite_ptr;
1928
1929PUBLIC PFNGLXGETTRANSPARENTINDEXSUNPROC epoxy_glXGetTransparentIndexSUN = epoxy_glXGetTransparentIndexSUN_global_rewrite_ptr;
1930
1931PUBLIC PFNGLXGETVIDEODEVICENVPROC epoxy_glXGetVideoDeviceNV = epoxy_glXGetVideoDeviceNV_global_rewrite_ptr;
1932
1933PUBLIC PFNGLXGETVIDEOINFONVPROC epoxy_glXGetVideoInfoNV = epoxy_glXGetVideoInfoNV_global_rewrite_ptr;
1934
1935PUBLIC PFNGLXGETVIDEOSYNCSGIPROC epoxy_glXGetVideoSyncSGI = epoxy_glXGetVideoSyncSGI_global_rewrite_ptr;
1936
1937PUBLIC PFNGLXGETVISUALFROMFBCONFIGPROC epoxy_glXGetVisualFromFBConfig = epoxy_glXGetVisualFromFBConfig_global_rewrite_ptr;
1938
1939PUBLIC PFNGLXGETVISUALFROMFBCONFIGSGIXPROC epoxy_glXGetVisualFromFBConfigSGIX = epoxy_glXGetVisualFromFBConfigSGIX_global_rewrite_ptr;
1940
1941PUBLIC PFNGLXHYPERPIPEATTRIBSGIXPROC epoxy_glXHyperpipeAttribSGIX = epoxy_glXHyperpipeAttribSGIX_global_rewrite_ptr;
1942
1943PUBLIC PFNGLXHYPERPIPECONFIGSGIXPROC epoxy_glXHyperpipeConfigSGIX = epoxy_glXHyperpipeConfigSGIX_global_rewrite_ptr;
1944
1945PUBLIC PFNGLXIMPORTCONTEXTEXTPROC epoxy_glXImportContextEXT = epoxy_glXImportContextEXT_global_rewrite_ptr;
1946
1947PUBLIC PFNGLXISDIRECTPROC epoxy_glXIsDirect = epoxy_glXIsDirect_global_rewrite_ptr;
1948
1949PUBLIC PFNGLXJOINSWAPGROUPNVPROC epoxy_glXJoinSwapGroupNV = epoxy_glXJoinSwapGroupNV_global_rewrite_ptr;
1950
1951PUBLIC PFNGLXJOINSWAPGROUPSGIXPROC epoxy_glXJoinSwapGroupSGIX = epoxy_glXJoinSwapGroupSGIX_global_rewrite_ptr;
1952
1953PUBLIC PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC epoxy_glXLockVideoCaptureDeviceNV = epoxy_glXLockVideoCaptureDeviceNV_global_rewrite_ptr;
1954
1955PUBLIC PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC epoxy_glXMakeAssociatedContextCurrentAMD = epoxy_glXMakeAssociatedContextCurrentAMD_global_rewrite_ptr;
1956
1957PUBLIC PFNGLXMAKECONTEXTCURRENTPROC epoxy_glXMakeContextCurrent = epoxy_glXMakeContextCurrent_global_rewrite_ptr;
1958
1959PUBLIC PFNGLXMAKECURRENTPROC epoxy_glXMakeCurrent = epoxy_glXMakeCurrent_global_rewrite_ptr;
1960
1961PUBLIC PFNGLXMAKECURRENTREADSGIPROC epoxy_glXMakeCurrentReadSGI = epoxy_glXMakeCurrentReadSGI_global_rewrite_ptr;
1962
1963PUBLIC PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC epoxy_glXNamedCopyBufferSubDataNV = epoxy_glXNamedCopyBufferSubDataNV_global_rewrite_ptr;
1964
1965PUBLIC PFNGLXQUERYCHANNELDELTASSGIXPROC epoxy_glXQueryChannelDeltasSGIX = epoxy_glXQueryChannelDeltasSGIX_global_rewrite_ptr;
1966
1967PUBLIC PFNGLXQUERYCHANNELRECTSGIXPROC epoxy_glXQueryChannelRectSGIX = epoxy_glXQueryChannelRectSGIX_global_rewrite_ptr;
1968
1969PUBLIC PFNGLXQUERYCONTEXTPROC epoxy_glXQueryContext = epoxy_glXQueryContext_global_rewrite_ptr;
1970
1971PUBLIC PFNGLXQUERYCONTEXTINFOEXTPROC epoxy_glXQueryContextInfoEXT = epoxy_glXQueryContextInfoEXT_global_rewrite_ptr;
1972
1973PUBLIC PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC epoxy_glXQueryCurrentRendererIntegerMESA = epoxy_glXQueryCurrentRendererIntegerMESA_global_rewrite_ptr;
1974
1975PUBLIC PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC epoxy_glXQueryCurrentRendererStringMESA = epoxy_glXQueryCurrentRendererStringMESA_global_rewrite_ptr;
1976
1977PUBLIC PFNGLXQUERYDRAWABLEPROC epoxy_glXQueryDrawable = epoxy_glXQueryDrawable_global_rewrite_ptr;
1978
1979PUBLIC PFNGLXQUERYEXTENSIONPROC epoxy_glXQueryExtension = epoxy_glXQueryExtension_global_rewrite_ptr;
1980
1981PUBLIC PFNGLXQUERYEXTENSIONSSTRINGPROC epoxy_glXQueryExtensionsString = epoxy_glXQueryExtensionsString_global_rewrite_ptr;
1982
1983PUBLIC PFNGLXQUERYFRAMECOUNTNVPROC epoxy_glXQueryFrameCountNV = epoxy_glXQueryFrameCountNV_global_rewrite_ptr;
1984
1985PUBLIC PFNGLXQUERYGLXPBUFFERSGIXPROC epoxy_glXQueryGLXPbufferSGIX = epoxy_glXQueryGLXPbufferSGIX_global_rewrite_ptr;
1986
1987PUBLIC PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC epoxy_glXQueryHyperpipeAttribSGIX = epoxy_glXQueryHyperpipeAttribSGIX_global_rewrite_ptr;
1988
1989PUBLIC PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC epoxy_glXQueryHyperpipeBestAttribSGIX = epoxy_glXQueryHyperpipeBestAttribSGIX_global_rewrite_ptr;
1990
1991PUBLIC PFNGLXQUERYHYPERPIPECONFIGSGIXPROC epoxy_glXQueryHyperpipeConfigSGIX = epoxy_glXQueryHyperpipeConfigSGIX_global_rewrite_ptr;
1992
1993PUBLIC PFNGLXQUERYHYPERPIPENETWORKSGIXPROC epoxy_glXQueryHyperpipeNetworkSGIX = epoxy_glXQueryHyperpipeNetworkSGIX_global_rewrite_ptr;
1994
1995PUBLIC PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC epoxy_glXQueryMaxSwapBarriersSGIX = epoxy_glXQueryMaxSwapBarriersSGIX_global_rewrite_ptr;
1996
1997PUBLIC PFNGLXQUERYMAXSWAPGROUPSNVPROC epoxy_glXQueryMaxSwapGroupsNV = epoxy_glXQueryMaxSwapGroupsNV_global_rewrite_ptr;
1998
1999PUBLIC PFNGLXQUERYRENDERERINTEGERMESAPROC epoxy_glXQueryRendererIntegerMESA = epoxy_glXQueryRendererIntegerMESA_global_rewrite_ptr;
2000
2001PUBLIC PFNGLXQUERYRENDERERSTRINGMESAPROC epoxy_glXQueryRendererStringMESA = epoxy_glXQueryRendererStringMESA_global_rewrite_ptr;
2002
2003PUBLIC PFNGLXQUERYSERVERSTRINGPROC epoxy_glXQueryServerString = epoxy_glXQueryServerString_global_rewrite_ptr;
2004
2005PUBLIC PFNGLXQUERYSWAPGROUPNVPROC epoxy_glXQuerySwapGroupNV = epoxy_glXQuerySwapGroupNV_global_rewrite_ptr;
2006
2007PUBLIC PFNGLXQUERYVERSIONPROC epoxy_glXQueryVersion = epoxy_glXQueryVersion_global_rewrite_ptr;
2008
2009PUBLIC PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC epoxy_glXQueryVideoCaptureDeviceNV = epoxy_glXQueryVideoCaptureDeviceNV_global_rewrite_ptr;
2010
2011PUBLIC PFNGLXRELEASEBUFFERSMESAPROC epoxy_glXReleaseBuffersMESA = epoxy_glXReleaseBuffersMESA_global_rewrite_ptr;
2012
2013PUBLIC PFNGLXRELEASETEXIMAGEEXTPROC epoxy_glXReleaseTexImageEXT = epoxy_glXReleaseTexImageEXT_global_rewrite_ptr;
2014
2015PUBLIC PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC epoxy_glXReleaseVideoCaptureDeviceNV = epoxy_glXReleaseVideoCaptureDeviceNV_global_rewrite_ptr;
2016
2017PUBLIC PFNGLXRELEASEVIDEODEVICENVPROC epoxy_glXReleaseVideoDeviceNV = epoxy_glXReleaseVideoDeviceNV_global_rewrite_ptr;
2018
2019PUBLIC PFNGLXRELEASEVIDEOIMAGENVPROC epoxy_glXReleaseVideoImageNV = epoxy_glXReleaseVideoImageNV_global_rewrite_ptr;
2020
2021PUBLIC PFNGLXRESETFRAMECOUNTNVPROC epoxy_glXResetFrameCountNV = epoxy_glXResetFrameCountNV_global_rewrite_ptr;
2022
2023PUBLIC PFNGLXSELECTEVENTPROC epoxy_glXSelectEvent = epoxy_glXSelectEvent_global_rewrite_ptr;
2024
2025PUBLIC PFNGLXSELECTEVENTSGIXPROC epoxy_glXSelectEventSGIX = epoxy_glXSelectEventSGIX_global_rewrite_ptr;
2026
2027PUBLIC PFNGLXSENDPBUFFERTOVIDEONVPROC epoxy_glXSendPbufferToVideoNV = epoxy_glXSendPbufferToVideoNV_global_rewrite_ptr;
2028
2029PUBLIC PFNGLXSET3DFXMODEMESAPROC epoxy_glXSet3DfxModeMESA = epoxy_glXSet3DfxModeMESA_global_rewrite_ptr;
2030
2031PUBLIC PFNGLXSWAPBUFFERSPROC epoxy_glXSwapBuffers = epoxy_glXSwapBuffers_global_rewrite_ptr;
2032
2033PUBLIC PFNGLXSWAPBUFFERSMSCOMLPROC epoxy_glXSwapBuffersMscOML = epoxy_glXSwapBuffersMscOML_global_rewrite_ptr;
2034
2035PUBLIC PFNGLXSWAPINTERVALEXTPROC epoxy_glXSwapIntervalEXT = epoxy_glXSwapIntervalEXT_global_rewrite_ptr;
2036
2037PUBLIC PFNGLXSWAPINTERVALSGIPROC epoxy_glXSwapIntervalSGI = epoxy_glXSwapIntervalSGI_global_rewrite_ptr;
2038
2039PUBLIC PFNGLXUSEXFONTPROC epoxy_glXUseXFont = epoxy_glXUseXFont_global_rewrite_ptr;
2040
2041PUBLIC PFNGLXWAITFORMSCOMLPROC epoxy_glXWaitForMscOML = epoxy_glXWaitForMscOML_global_rewrite_ptr;
2042
2043PUBLIC PFNGLXWAITFORSBCOMLPROC epoxy_glXWaitForSbcOML = epoxy_glXWaitForSbcOML_global_rewrite_ptr;
2044
2045PUBLIC PFNGLXWAITGLPROC epoxy_glXWaitGL = epoxy_glXWaitGL_global_rewrite_ptr;
2046
2047PUBLIC PFNGLXWAITVIDEOSYNCSGIPROC epoxy_glXWaitVideoSyncSGI = epoxy_glXWaitVideoSyncSGI_global_rewrite_ptr;
2048
2049PUBLIC PFNGLXWAITXPROC epoxy_glXWaitX = epoxy_glXWaitX_global_rewrite_ptr;
2050
2051