• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* GL dispatch code.
2  * This is code-generated from the GL API XML files from Khronos.
3  */
4 
5 #include "config.h"
6 
7 #include <stdlib.h>
8 #include <string.h>
9 #include <stdio.h>
10 
11 #include "dispatch_common.h"
12 #include "epoxy/egl.h"
13 
14 #ifdef __GNUC__
15 #define EPOXY_NOINLINE __attribute__((noinline))
16 #elif defined (_MSC_VER)
17 #define EPOXY_NOINLINE __declspec(noinline)
18 #endif
19 struct dispatch_table {
20     PFNEGLBINDAPIPROC epoxy_eglBindAPI;
21     PFNEGLBINDTEXIMAGEPROC epoxy_eglBindTexImage;
22     PFNEGLCHOOSECONFIGPROC epoxy_eglChooseConfig;
23     PFNEGLCLIENTSIGNALSYNCEXTPROC epoxy_eglClientSignalSyncEXT;
24     PFNEGLCLIENTWAITSYNCPROC epoxy_eglClientWaitSync;
25     PFNEGLCLIENTWAITSYNCKHRPROC epoxy_eglClientWaitSyncKHR;
26     PFNEGLCLIENTWAITSYNCNVPROC epoxy_eglClientWaitSyncNV;
27     PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC epoxy_eglCompositorBindTexWindowEXT;
28     PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC epoxy_eglCompositorSetContextAttributesEXT;
29     PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC epoxy_eglCompositorSetContextListEXT;
30     PFNEGLCOMPOSITORSETSIZEEXTPROC epoxy_eglCompositorSetSizeEXT;
31     PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC epoxy_eglCompositorSetWindowAttributesEXT;
32     PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC epoxy_eglCompositorSetWindowListEXT;
33     PFNEGLCOMPOSITORSWAPPOLICYEXTPROC epoxy_eglCompositorSwapPolicyEXT;
34     PFNEGLCOPYBUFFERSPROC epoxy_eglCopyBuffers;
35     PFNEGLCREATECONTEXTPROC epoxy_eglCreateContext;
36     PFNEGLCREATEDRMIMAGEMESAPROC epoxy_eglCreateDRMImageMESA;
37     PFNEGLCREATEFENCESYNCNVPROC epoxy_eglCreateFenceSyncNV;
38     PFNEGLCREATEIMAGEPROC epoxy_eglCreateImage;
39     PFNEGLCREATEIMAGEKHRPROC epoxy_eglCreateImageKHR;
40     PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC epoxy_eglCreateNativeClientBufferANDROID;
41     PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC epoxy_eglCreatePbufferFromClientBuffer;
42     PFNEGLCREATEPBUFFERSURFACEPROC epoxy_eglCreatePbufferSurface;
43     PFNEGLCREATEPIXMAPSURFACEPROC epoxy_eglCreatePixmapSurface;
44     PFNEGLCREATEPIXMAPSURFACEHIPROC epoxy_eglCreatePixmapSurfaceHI;
45     PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC epoxy_eglCreatePlatformPixmapSurface;
46     PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC epoxy_eglCreatePlatformPixmapSurfaceEXT;
47     PFNEGLCREATEPLATFORMWINDOWSURFACEPROC epoxy_eglCreatePlatformWindowSurface;
48     PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC epoxy_eglCreatePlatformWindowSurfaceEXT;
49     PFNEGLCREATESTREAMATTRIBKHRPROC epoxy_eglCreateStreamAttribKHR;
50     PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC epoxy_eglCreateStreamFromFileDescriptorKHR;
51     PFNEGLCREATESTREAMKHRPROC epoxy_eglCreateStreamKHR;
52     PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC epoxy_eglCreateStreamProducerSurfaceKHR;
53     PFNEGLCREATESTREAMSYNCNVPROC epoxy_eglCreateStreamSyncNV;
54     PFNEGLCREATESYNCPROC epoxy_eglCreateSync;
55     PFNEGLCREATESYNC64KHRPROC epoxy_eglCreateSync64KHR;
56     PFNEGLCREATESYNCKHRPROC epoxy_eglCreateSyncKHR;
57     PFNEGLCREATEWINDOWSURFACEPROC epoxy_eglCreateWindowSurface;
58     PFNEGLDEBUGMESSAGECONTROLKHRPROC epoxy_eglDebugMessageControlKHR;
59     PFNEGLDESTROYCONTEXTPROC epoxy_eglDestroyContext;
60     PFNEGLDESTROYIMAGEPROC epoxy_eglDestroyImage;
61     PFNEGLDESTROYIMAGEKHRPROC epoxy_eglDestroyImageKHR;
62     PFNEGLDESTROYSTREAMKHRPROC epoxy_eglDestroyStreamKHR;
63     PFNEGLDESTROYSURFACEPROC epoxy_eglDestroySurface;
64     PFNEGLDESTROYSYNCPROC epoxy_eglDestroySync;
65     PFNEGLDESTROYSYNCKHRPROC epoxy_eglDestroySyncKHR;
66     PFNEGLDESTROYSYNCNVPROC epoxy_eglDestroySyncNV;
67     PFNEGLDUPNATIVEFENCEFDANDROIDPROC epoxy_eglDupNativeFenceFDANDROID;
68     PFNEGLEXPORTDMABUFIMAGEMESAPROC epoxy_eglExportDMABUFImageMESA;
69     PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC epoxy_eglExportDMABUFImageQueryMESA;
70     PFNEGLEXPORTDRMIMAGEMESAPROC epoxy_eglExportDRMImageMESA;
71     PFNEGLFENCENVPROC epoxy_eglFenceNV;
72     PFNEGLGETCOMPOSITORTIMINGANDROIDPROC epoxy_eglGetCompositorTimingANDROID;
73     PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC epoxy_eglGetCompositorTimingSupportedANDROID;
74     PFNEGLGETCONFIGATTRIBPROC epoxy_eglGetConfigAttrib;
75     PFNEGLGETCONFIGSPROC epoxy_eglGetConfigs;
76     PFNEGLGETCURRENTCONTEXTPROC epoxy_eglGetCurrentContext;
77     PFNEGLGETCURRENTDISPLAYPROC epoxy_eglGetCurrentDisplay;
78     PFNEGLGETCURRENTSURFACEPROC epoxy_eglGetCurrentSurface;
79     PFNEGLGETDISPLAYPROC epoxy_eglGetDisplay;
80     PFNEGLGETDISPLAYDRIVERCONFIGPROC epoxy_eglGetDisplayDriverConfig;
81     PFNEGLGETDISPLAYDRIVERNAMEPROC epoxy_eglGetDisplayDriverName;
82     PFNEGLGETERRORPROC epoxy_eglGetError;
83     PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC epoxy_eglGetFrameTimestampSupportedANDROID;
84     PFNEGLGETFRAMETIMESTAMPSANDROIDPROC epoxy_eglGetFrameTimestampsANDROID;
85     PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC epoxy_eglGetNativeClientBufferANDROID;
86     PFNEGLGETNEXTFRAMEIDANDROIDPROC epoxy_eglGetNextFrameIdANDROID;
87     PFNEGLGETOUTPUTLAYERSEXTPROC epoxy_eglGetOutputLayersEXT;
88     PFNEGLGETOUTPUTPORTSEXTPROC epoxy_eglGetOutputPortsEXT;
89     PFNEGLGETPLATFORMDISPLAYPROC epoxy_eglGetPlatformDisplay;
90     PFNEGLGETPLATFORMDISPLAYEXTPROC epoxy_eglGetPlatformDisplayEXT;
91     PFNEGLGETPROCADDRESSPROC epoxy_eglGetProcAddress;
92     PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC epoxy_eglGetStreamFileDescriptorKHR;
93     PFNEGLGETSYNCATTRIBPROC epoxy_eglGetSyncAttrib;
94     PFNEGLGETSYNCATTRIBKHRPROC epoxy_eglGetSyncAttribKHR;
95     PFNEGLGETSYNCATTRIBNVPROC epoxy_eglGetSyncAttribNV;
96     PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC epoxy_eglGetSystemTimeFrequencyNV;
97     PFNEGLGETSYSTEMTIMENVPROC epoxy_eglGetSystemTimeNV;
98     PFNEGLINITIALIZEPROC epoxy_eglInitialize;
99     PFNEGLLABELOBJECTKHRPROC epoxy_eglLabelObjectKHR;
100     PFNEGLLOCKSURFACEKHRPROC epoxy_eglLockSurfaceKHR;
101     PFNEGLMAKECURRENTPROC epoxy_eglMakeCurrent;
102     PFNEGLOUTPUTLAYERATTRIBEXTPROC epoxy_eglOutputLayerAttribEXT;
103     PFNEGLOUTPUTPORTATTRIBEXTPROC epoxy_eglOutputPortAttribEXT;
104     PFNEGLPOSTSUBBUFFERNVPROC epoxy_eglPostSubBufferNV;
105     PFNEGLPRESENTATIONTIMEANDROIDPROC epoxy_eglPresentationTimeANDROID;
106     PFNEGLQUERYAPIPROC epoxy_eglQueryAPI;
107     PFNEGLQUERYCONTEXTPROC epoxy_eglQueryContext;
108     PFNEGLQUERYDEBUGKHRPROC epoxy_eglQueryDebugKHR;
109     PFNEGLQUERYDEVICEATTRIBEXTPROC epoxy_eglQueryDeviceAttribEXT;
110     PFNEGLQUERYDEVICESTRINGEXTPROC epoxy_eglQueryDeviceStringEXT;
111     PFNEGLQUERYDEVICESEXTPROC epoxy_eglQueryDevicesEXT;
112     PFNEGLQUERYDISPLAYATTRIBEXTPROC epoxy_eglQueryDisplayAttribEXT;
113     PFNEGLQUERYDISPLAYATTRIBKHRPROC epoxy_eglQueryDisplayAttribKHR;
114     PFNEGLQUERYDISPLAYATTRIBNVPROC epoxy_eglQueryDisplayAttribNV;
115     PFNEGLQUERYDMABUFFORMATSEXTPROC epoxy_eglQueryDmaBufFormatsEXT;
116     PFNEGLQUERYDMABUFMODIFIERSEXTPROC epoxy_eglQueryDmaBufModifiersEXT;
117     PFNEGLQUERYNATIVEDISPLAYNVPROC epoxy_eglQueryNativeDisplayNV;
118     PFNEGLQUERYNATIVEPIXMAPNVPROC epoxy_eglQueryNativePixmapNV;
119     PFNEGLQUERYNATIVEWINDOWNVPROC epoxy_eglQueryNativeWindowNV;
120     PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC epoxy_eglQueryOutputLayerAttribEXT;
121     PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC epoxy_eglQueryOutputLayerStringEXT;
122     PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC epoxy_eglQueryOutputPortAttribEXT;
123     PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC epoxy_eglQueryOutputPortStringEXT;
124     PFNEGLQUERYSTREAMATTRIBKHRPROC epoxy_eglQueryStreamAttribKHR;
125     PFNEGLQUERYSTREAMKHRPROC epoxy_eglQueryStreamKHR;
126     PFNEGLQUERYSTREAMMETADATANVPROC epoxy_eglQueryStreamMetadataNV;
127     PFNEGLQUERYSTREAMTIMEKHRPROC epoxy_eglQueryStreamTimeKHR;
128     PFNEGLQUERYSTREAMU64KHRPROC epoxy_eglQueryStreamu64KHR;
129     PFNEGLQUERYSTRINGPROC epoxy_eglQueryString;
130     PFNEGLQUERYSURFACEPROC epoxy_eglQuerySurface;
131     PFNEGLQUERYSURFACE64KHRPROC epoxy_eglQuerySurface64KHR;
132     PFNEGLQUERYSURFACEPOINTERANGLEPROC epoxy_eglQuerySurfacePointerANGLE;
133     PFNEGLRELEASETEXIMAGEPROC epoxy_eglReleaseTexImage;
134     PFNEGLRELEASETHREADPROC epoxy_eglReleaseThread;
135     PFNEGLRESETSTREAMNVPROC epoxy_eglResetStreamNV;
136     PFNEGLSETBLOBCACHEFUNCSANDROIDPROC epoxy_eglSetBlobCacheFuncsANDROID;
137     PFNEGLSETDAMAGEREGIONKHRPROC epoxy_eglSetDamageRegionKHR;
138     PFNEGLSETSTREAMATTRIBKHRPROC epoxy_eglSetStreamAttribKHR;
139     PFNEGLSETSTREAMMETADATANVPROC epoxy_eglSetStreamMetadataNV;
140     PFNEGLSIGNALSYNCKHRPROC epoxy_eglSignalSyncKHR;
141     PFNEGLSIGNALSYNCNVPROC epoxy_eglSignalSyncNV;
142     PFNEGLSTREAMATTRIBKHRPROC epoxy_eglStreamAttribKHR;
143     PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC epoxy_eglStreamConsumerAcquireAttribKHR;
144     PFNEGLSTREAMCONSUMERACQUIREKHRPROC epoxy_eglStreamConsumerAcquireKHR;
145     PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC epoxy_eglStreamConsumerGLTextureExternalAttribsNV;
146     PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC epoxy_eglStreamConsumerGLTextureExternalKHR;
147     PFNEGLSTREAMCONSUMEROUTPUTEXTPROC epoxy_eglStreamConsumerOutputEXT;
148     PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC epoxy_eglStreamConsumerReleaseAttribKHR;
149     PFNEGLSTREAMCONSUMERRELEASEKHRPROC epoxy_eglStreamConsumerReleaseKHR;
150     PFNEGLSTREAMFLUSHNVPROC epoxy_eglStreamFlushNV;
151     PFNEGLSURFACEATTRIBPROC epoxy_eglSurfaceAttrib;
152     PFNEGLSWAPBUFFERSPROC epoxy_eglSwapBuffers;
153     PFNEGLSWAPBUFFERSREGION2NOKPROC epoxy_eglSwapBuffersRegion2NOK;
154     PFNEGLSWAPBUFFERSREGIONNOKPROC epoxy_eglSwapBuffersRegionNOK;
155     PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC epoxy_eglSwapBuffersWithDamageEXT;
156     PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC epoxy_eglSwapBuffersWithDamageKHR;
157     PFNEGLSWAPINTERVALPROC epoxy_eglSwapInterval;
158     PFNEGLTERMINATEPROC epoxy_eglTerminate;
159     PFNEGLUNLOCKSURFACEKHRPROC epoxy_eglUnlockSurfaceKHR;
160     PFNEGLUNSIGNALSYNCEXTPROC epoxy_eglUnsignalSyncEXT;
161     PFNEGLWAITCLIENTPROC epoxy_eglWaitClient;
162     PFNEGLWAITGLPROC epoxy_eglWaitGL;
163     PFNEGLWAITNATIVEPROC epoxy_eglWaitNative;
164     PFNEGLWAITSYNCPROC epoxy_eglWaitSync;
165     PFNEGLWAITSYNCKHRPROC epoxy_eglWaitSyncKHR;
166 };
167 
168 #if USING_DISPATCH_TABLE
169 static inline struct dispatch_table *
170 get_dispatch_table(void);
171 
172 #endif
173 
174 enum egl_provider {
175     egl_provider_terminator = 0,
176     PROVIDER_EGL_10,
177     PROVIDER_EGL_11,
178     PROVIDER_EGL_12,
179     PROVIDER_EGL_14,
180     PROVIDER_EGL_15,
181     PROVIDER_EGL_ANDROID_blob_cache,
182     PROVIDER_EGL_ANDROID_create_native_client_buffer,
183     PROVIDER_EGL_ANDROID_get_frame_timestamps,
184     PROVIDER_EGL_ANDROID_get_native_client_buffer,
185     PROVIDER_EGL_ANDROID_native_fence_sync,
186     PROVIDER_EGL_ANDROID_presentation_time,
187     PROVIDER_EGL_ANGLE_query_surface_pointer,
188     PROVIDER_EGL_EXT_client_sync,
189     PROVIDER_EGL_EXT_compositor,
190     PROVIDER_EGL_EXT_device_base,
191     PROVIDER_EGL_EXT_device_enumeration,
192     PROVIDER_EGL_EXT_device_query,
193     PROVIDER_EGL_EXT_image_dma_buf_import_modifiers,
194     PROVIDER_EGL_EXT_output_base,
195     PROVIDER_EGL_EXT_platform_base,
196     PROVIDER_EGL_EXT_stream_consumer_egloutput,
197     PROVIDER_EGL_EXT_swap_buffers_with_damage,
198     PROVIDER_EGL_EXT_sync_reuse,
199     PROVIDER_EGL_HI_clientpixmap,
200     PROVIDER_EGL_KHR_cl_event2,
201     PROVIDER_EGL_KHR_debug,
202     PROVIDER_EGL_KHR_display_reference,
203     PROVIDER_EGL_KHR_fence_sync,
204     PROVIDER_EGL_KHR_image,
205     PROVIDER_EGL_KHR_image_base,
206     PROVIDER_EGL_KHR_lock_surface,
207     PROVIDER_EGL_KHR_lock_surface3,
208     PROVIDER_EGL_KHR_partial_update,
209     PROVIDER_EGL_KHR_reusable_sync,
210     PROVIDER_EGL_KHR_stream,
211     PROVIDER_EGL_KHR_stream_attrib,
212     PROVIDER_EGL_KHR_stream_consumer_gltexture,
213     PROVIDER_EGL_KHR_stream_cross_process_fd,
214     PROVIDER_EGL_KHR_stream_fifo,
215     PROVIDER_EGL_KHR_stream_producer_eglsurface,
216     PROVIDER_EGL_KHR_swap_buffers_with_damage,
217     PROVIDER_EGL_KHR_wait_sync,
218     PROVIDER_EGL_MESA_drm_image,
219     PROVIDER_EGL_MESA_image_dma_buf_export,
220     PROVIDER_EGL_MESA_query_driver,
221     PROVIDER_EGL_NOK_swap_region,
222     PROVIDER_EGL_NOK_swap_region2,
223     PROVIDER_EGL_NV_native_query,
224     PROVIDER_EGL_NV_post_sub_buffer,
225     PROVIDER_EGL_NV_stream_consumer_gltexture_yuv,
226     PROVIDER_EGL_NV_stream_flush,
227     PROVIDER_EGL_NV_stream_metadata,
228     PROVIDER_EGL_NV_stream_reset,
229     PROVIDER_EGL_NV_stream_sync,
230     PROVIDER_EGL_NV_sync,
231     PROVIDER_EGL_NV_system_time,
232 } PACKED;
233 ENDPACKED
234 
235 static const char *enum_string =
236     "EGL 10\0"
237     "EGL 11\0"
238     "EGL 12\0"
239     "EGL 14\0"
240     "EGL 15\0"
241     "EGL_ANDROID_blob_cache\0"
242     "EGL_ANDROID_create_native_client_buffer\0"
243     "EGL_ANDROID_get_frame_timestamps\0"
244     "EGL_ANDROID_get_native_client_buffer\0"
245     "EGL_ANDROID_native_fence_sync\0"
246     "EGL_ANDROID_presentation_time\0"
247     "EGL_ANGLE_query_surface_pointer\0"
248     "EGL_EXT_client_sync\0"
249     "EGL_EXT_compositor\0"
250     "EGL_EXT_device_base\0"
251     "EGL_EXT_device_enumeration\0"
252     "EGL_EXT_device_query\0"
253     "EGL_EXT_image_dma_buf_import_modifiers\0"
254     "EGL_EXT_output_base\0"
255     "EGL_EXT_platform_base\0"
256     "EGL_EXT_stream_consumer_egloutput\0"
257     "EGL_EXT_swap_buffers_with_damage\0"
258     "EGL_EXT_sync_reuse\0"
259     "EGL_HI_clientpixmap\0"
260     "EGL_KHR_cl_event2\0"
261     "EGL_KHR_debug\0"
262     "EGL_KHR_display_reference\0"
263     "EGL_KHR_fence_sync\0"
264     "EGL_KHR_image\0"
265     "EGL_KHR_image_base\0"
266     "EGL_KHR_lock_surface\0"
267     "EGL_KHR_lock_surface3\0"
268     "EGL_KHR_partial_update\0"
269     "EGL_KHR_reusable_sync\0"
270     "EGL_KHR_stream\0"
271     "EGL_KHR_stream_attrib\0"
272     "EGL_KHR_stream_consumer_gltexture\0"
273     "EGL_KHR_stream_cross_process_fd\0"
274     "EGL_KHR_stream_fifo\0"
275     "EGL_KHR_stream_producer_eglsurface\0"
276     "EGL_KHR_swap_buffers_with_damage\0"
277     "EGL_KHR_wait_sync\0"
278     "EGL_MESA_drm_image\0"
279     "EGL_MESA_image_dma_buf_export\0"
280     "EGL_MESA_query_driver\0"
281     "EGL_NOK_swap_region\0"
282     "EGL_NOK_swap_region2\0"
283     "EGL_NV_native_query\0"
284     "EGL_NV_post_sub_buffer\0"
285     "EGL_NV_stream_consumer_gltexture_yuv\0"
286     "EGL_NV_stream_flush\0"
287     "EGL_NV_stream_metadata\0"
288     "EGL_NV_stream_reset\0"
289     "EGL_NV_stream_sync\0"
290     "EGL_NV_sync\0"
291     "EGL_NV_system_time\0"
292      ;
293 
294 static const uint16_t enum_string_offsets[] = {
295     -1, /* egl_provider_terminator, unused */
296     0, /* EGL 10 */
297     7, /* EGL 11 */
298     14, /* EGL 12 */
299     21, /* EGL 14 */
300     28, /* EGL 15 */
301     35, /* EGL_ANDROID_blob_cache */
302     58, /* EGL_ANDROID_create_native_client_buffer */
303     98, /* EGL_ANDROID_get_frame_timestamps */
304     131, /* EGL_ANDROID_get_native_client_buffer */
305     168, /* EGL_ANDROID_native_fence_sync */
306     198, /* EGL_ANDROID_presentation_time */
307     228, /* EGL_ANGLE_query_surface_pointer */
308     260, /* EGL_EXT_client_sync */
309     280, /* EGL_EXT_compositor */
310     299, /* EGL_EXT_device_base */
311     319, /* EGL_EXT_device_enumeration */
312     346, /* EGL_EXT_device_query */
313     367, /* EGL_EXT_image_dma_buf_import_modifiers */
314     406, /* EGL_EXT_output_base */
315     426, /* EGL_EXT_platform_base */
316     448, /* EGL_EXT_stream_consumer_egloutput */
317     482, /* EGL_EXT_swap_buffers_with_damage */
318     515, /* EGL_EXT_sync_reuse */
319     534, /* EGL_HI_clientpixmap */
320     554, /* EGL_KHR_cl_event2 */
321     572, /* EGL_KHR_debug */
322     586, /* EGL_KHR_display_reference */
323     612, /* EGL_KHR_fence_sync */
324     631, /* EGL_KHR_image */
325     645, /* EGL_KHR_image_base */
326     664, /* EGL_KHR_lock_surface */
327     685, /* EGL_KHR_lock_surface3 */
328     707, /* EGL_KHR_partial_update */
329     730, /* EGL_KHR_reusable_sync */
330     752, /* EGL_KHR_stream */
331     767, /* EGL_KHR_stream_attrib */
332     789, /* EGL_KHR_stream_consumer_gltexture */
333     823, /* EGL_KHR_stream_cross_process_fd */
334     855, /* EGL_KHR_stream_fifo */
335     875, /* EGL_KHR_stream_producer_eglsurface */
336     910, /* EGL_KHR_swap_buffers_with_damage */
337     943, /* EGL_KHR_wait_sync */
338     961, /* EGL_MESA_drm_image */
339     980, /* EGL_MESA_image_dma_buf_export */
340     1010, /* EGL_MESA_query_driver */
341     1032, /* EGL_NOK_swap_region */
342     1052, /* EGL_NOK_swap_region2 */
343     1073, /* EGL_NV_native_query */
344     1093, /* EGL_NV_post_sub_buffer */
345     1116, /* EGL_NV_stream_consumer_gltexture_yuv */
346     1153, /* EGL_NV_stream_flush */
347     1173, /* EGL_NV_stream_metadata */
348     1196, /* EGL_NV_stream_reset */
349     1216, /* EGL_NV_stream_sync */
350     1235, /* EGL_NV_sync */
351     1247, /* EGL_NV_system_time */
352 };
353 
354 static const char entrypoint_strings[] = {
355    'e',
356    'g',
357    'l',
358    'B',
359    'i',
360    'n',
361    'd',
362    'A',
363    'P',
364    'I',
365    0, // eglBindAPI
366    'e',
367    'g',
368    'l',
369    'B',
370    'i',
371    'n',
372    'd',
373    'T',
374    'e',
375    'x',
376    'I',
377    'm',
378    'a',
379    'g',
380    'e',
381    0, // eglBindTexImage
382    'e',
383    'g',
384    'l',
385    'C',
386    'h',
387    'o',
388    'o',
389    's',
390    'e',
391    'C',
392    'o',
393    'n',
394    'f',
395    'i',
396    'g',
397    0, // eglChooseConfig
398    'e',
399    'g',
400    'l',
401    'C',
402    'l',
403    'i',
404    'e',
405    'n',
406    't',
407    'S',
408    'i',
409    'g',
410    'n',
411    'a',
412    'l',
413    'S',
414    'y',
415    'n',
416    'c',
417    'E',
418    'X',
419    'T',
420    0, // eglClientSignalSyncEXT
421    'e',
422    'g',
423    'l',
424    'C',
425    'l',
426    'i',
427    'e',
428    'n',
429    't',
430    'W',
431    'a',
432    'i',
433    't',
434    'S',
435    'y',
436    'n',
437    'c',
438    0, // eglClientWaitSync
439    'e',
440    'g',
441    'l',
442    'C',
443    'l',
444    'i',
445    'e',
446    'n',
447    't',
448    'W',
449    'a',
450    'i',
451    't',
452    'S',
453    'y',
454    'n',
455    'c',
456    'K',
457    'H',
458    'R',
459    0, // eglClientWaitSyncKHR
460    'e',
461    'g',
462    'l',
463    'C',
464    'l',
465    'i',
466    'e',
467    'n',
468    't',
469    'W',
470    'a',
471    'i',
472    't',
473    'S',
474    'y',
475    'n',
476    'c',
477    'N',
478    'V',
479    0, // eglClientWaitSyncNV
480    'e',
481    'g',
482    'l',
483    'C',
484    'o',
485    'm',
486    'p',
487    'o',
488    's',
489    'i',
490    't',
491    'o',
492    'r',
493    'B',
494    'i',
495    'n',
496    'd',
497    'T',
498    'e',
499    'x',
500    'W',
501    'i',
502    'n',
503    'd',
504    'o',
505    'w',
506    'E',
507    'X',
508    'T',
509    0, // eglCompositorBindTexWindowEXT
510    'e',
511    'g',
512    'l',
513    'C',
514    'o',
515    'm',
516    'p',
517    'o',
518    's',
519    'i',
520    't',
521    'o',
522    'r',
523    'S',
524    'e',
525    't',
526    'C',
527    'o',
528    'n',
529    't',
530    'e',
531    'x',
532    't',
533    'A',
534    't',
535    't',
536    'r',
537    'i',
538    'b',
539    'u',
540    't',
541    'e',
542    's',
543    'E',
544    'X',
545    'T',
546    0, // eglCompositorSetContextAttributesEXT
547    'e',
548    'g',
549    'l',
550    'C',
551    'o',
552    'm',
553    'p',
554    'o',
555    's',
556    'i',
557    't',
558    'o',
559    'r',
560    'S',
561    'e',
562    't',
563    'C',
564    'o',
565    'n',
566    't',
567    'e',
568    'x',
569    't',
570    'L',
571    'i',
572    's',
573    't',
574    'E',
575    'X',
576    'T',
577    0, // eglCompositorSetContextListEXT
578    'e',
579    'g',
580    'l',
581    'C',
582    'o',
583    'm',
584    'p',
585    'o',
586    's',
587    'i',
588    't',
589    'o',
590    'r',
591    'S',
592    'e',
593    't',
594    'S',
595    'i',
596    'z',
597    'e',
598    'E',
599    'X',
600    'T',
601    0, // eglCompositorSetSizeEXT
602    'e',
603    'g',
604    'l',
605    'C',
606    'o',
607    'm',
608    'p',
609    'o',
610    's',
611    'i',
612    't',
613    'o',
614    'r',
615    'S',
616    'e',
617    't',
618    'W',
619    'i',
620    'n',
621    'd',
622    'o',
623    'w',
624    'A',
625    't',
626    't',
627    'r',
628    'i',
629    'b',
630    'u',
631    't',
632    'e',
633    's',
634    'E',
635    'X',
636    'T',
637    0, // eglCompositorSetWindowAttributesEXT
638    'e',
639    'g',
640    'l',
641    'C',
642    'o',
643    'm',
644    'p',
645    'o',
646    's',
647    'i',
648    't',
649    'o',
650    'r',
651    'S',
652    'e',
653    't',
654    'W',
655    'i',
656    'n',
657    'd',
658    'o',
659    'w',
660    'L',
661    'i',
662    's',
663    't',
664    'E',
665    'X',
666    'T',
667    0, // eglCompositorSetWindowListEXT
668    'e',
669    'g',
670    'l',
671    'C',
672    'o',
673    'm',
674    'p',
675    'o',
676    's',
677    'i',
678    't',
679    'o',
680    'r',
681    'S',
682    'w',
683    'a',
684    'p',
685    'P',
686    'o',
687    'l',
688    'i',
689    'c',
690    'y',
691    'E',
692    'X',
693    'T',
694    0, // eglCompositorSwapPolicyEXT
695    'e',
696    'g',
697    'l',
698    'C',
699    'o',
700    'p',
701    'y',
702    'B',
703    'u',
704    'f',
705    'f',
706    'e',
707    'r',
708    's',
709    0, // eglCopyBuffers
710    'e',
711    'g',
712    'l',
713    'C',
714    'r',
715    'e',
716    'a',
717    't',
718    'e',
719    'C',
720    'o',
721    'n',
722    't',
723    'e',
724    'x',
725    't',
726    0, // eglCreateContext
727    'e',
728    'g',
729    'l',
730    'C',
731    'r',
732    'e',
733    'a',
734    't',
735    'e',
736    'D',
737    'R',
738    'M',
739    'I',
740    'm',
741    'a',
742    'g',
743    'e',
744    'M',
745    'E',
746    'S',
747    'A',
748    0, // eglCreateDRMImageMESA
749    'e',
750    'g',
751    'l',
752    'C',
753    'r',
754    'e',
755    'a',
756    't',
757    'e',
758    'F',
759    'e',
760    'n',
761    'c',
762    'e',
763    'S',
764    'y',
765    'n',
766    'c',
767    'N',
768    'V',
769    0, // eglCreateFenceSyncNV
770    'e',
771    'g',
772    'l',
773    'C',
774    'r',
775    'e',
776    'a',
777    't',
778    'e',
779    'I',
780    'm',
781    'a',
782    'g',
783    'e',
784    0, // eglCreateImage
785    'e',
786    'g',
787    'l',
788    'C',
789    'r',
790    'e',
791    'a',
792    't',
793    'e',
794    'I',
795    'm',
796    'a',
797    'g',
798    'e',
799    'K',
800    'H',
801    'R',
802    0, // eglCreateImageKHR
803    'e',
804    'g',
805    'l',
806    'C',
807    'r',
808    'e',
809    'a',
810    't',
811    'e',
812    'N',
813    'a',
814    't',
815    'i',
816    'v',
817    'e',
818    'C',
819    'l',
820    'i',
821    'e',
822    'n',
823    't',
824    'B',
825    'u',
826    'f',
827    'f',
828    'e',
829    'r',
830    'A',
831    'N',
832    'D',
833    'R',
834    'O',
835    'I',
836    'D',
837    0, // eglCreateNativeClientBufferANDROID
838    'e',
839    'g',
840    'l',
841    'C',
842    'r',
843    'e',
844    'a',
845    't',
846    'e',
847    'P',
848    'b',
849    'u',
850    'f',
851    'f',
852    'e',
853    'r',
854    'F',
855    'r',
856    'o',
857    'm',
858    'C',
859    'l',
860    'i',
861    'e',
862    'n',
863    't',
864    'B',
865    'u',
866    'f',
867    'f',
868    'e',
869    'r',
870    0, // eglCreatePbufferFromClientBuffer
871    'e',
872    'g',
873    'l',
874    'C',
875    'r',
876    'e',
877    'a',
878    't',
879    'e',
880    'P',
881    'b',
882    'u',
883    'f',
884    'f',
885    'e',
886    'r',
887    'S',
888    'u',
889    'r',
890    'f',
891    'a',
892    'c',
893    'e',
894    0, // eglCreatePbufferSurface
895    'e',
896    'g',
897    'l',
898    'C',
899    'r',
900    'e',
901    'a',
902    't',
903    'e',
904    'P',
905    'i',
906    'x',
907    'm',
908    'a',
909    'p',
910    'S',
911    'u',
912    'r',
913    'f',
914    'a',
915    'c',
916    'e',
917    0, // eglCreatePixmapSurface
918    'e',
919    'g',
920    'l',
921    'C',
922    'r',
923    'e',
924    'a',
925    't',
926    'e',
927    'P',
928    'i',
929    'x',
930    'm',
931    'a',
932    'p',
933    'S',
934    'u',
935    'r',
936    'f',
937    'a',
938    'c',
939    'e',
940    'H',
941    'I',
942    0, // eglCreatePixmapSurfaceHI
943    'e',
944    'g',
945    'l',
946    'C',
947    'r',
948    'e',
949    'a',
950    't',
951    'e',
952    'P',
953    'l',
954    'a',
955    't',
956    'f',
957    'o',
958    'r',
959    'm',
960    'P',
961    'i',
962    'x',
963    'm',
964    'a',
965    'p',
966    'S',
967    'u',
968    'r',
969    'f',
970    'a',
971    'c',
972    'e',
973    0, // eglCreatePlatformPixmapSurface
974    'e',
975    'g',
976    'l',
977    'C',
978    'r',
979    'e',
980    'a',
981    't',
982    'e',
983    'P',
984    'l',
985    'a',
986    't',
987    'f',
988    'o',
989    'r',
990    'm',
991    'P',
992    'i',
993    'x',
994    'm',
995    'a',
996    'p',
997    'S',
998    'u',
999    'r',
1000    'f',
1001    'a',
1002    'c',
1003    'e',
1004    'E',
1005    'X',
1006    'T',
1007    0, // eglCreatePlatformPixmapSurfaceEXT
1008    'e',
1009    'g',
1010    'l',
1011    'C',
1012    'r',
1013    'e',
1014    'a',
1015    't',
1016    'e',
1017    'P',
1018    'l',
1019    'a',
1020    't',
1021    'f',
1022    'o',
1023    'r',
1024    'm',
1025    'W',
1026    'i',
1027    'n',
1028    'd',
1029    'o',
1030    'w',
1031    'S',
1032    'u',
1033    'r',
1034    'f',
1035    'a',
1036    'c',
1037    'e',
1038    0, // eglCreatePlatformWindowSurface
1039    'e',
1040    'g',
1041    'l',
1042    'C',
1043    'r',
1044    'e',
1045    'a',
1046    't',
1047    'e',
1048    'P',
1049    'l',
1050    'a',
1051    't',
1052    'f',
1053    'o',
1054    'r',
1055    'm',
1056    'W',
1057    'i',
1058    'n',
1059    'd',
1060    'o',
1061    'w',
1062    'S',
1063    'u',
1064    'r',
1065    'f',
1066    'a',
1067    'c',
1068    'e',
1069    'E',
1070    'X',
1071    'T',
1072    0, // eglCreatePlatformWindowSurfaceEXT
1073    'e',
1074    'g',
1075    'l',
1076    'C',
1077    'r',
1078    'e',
1079    'a',
1080    't',
1081    'e',
1082    'S',
1083    't',
1084    'r',
1085    'e',
1086    'a',
1087    'm',
1088    'A',
1089    't',
1090    't',
1091    'r',
1092    'i',
1093    'b',
1094    'K',
1095    'H',
1096    'R',
1097    0, // eglCreateStreamAttribKHR
1098    'e',
1099    'g',
1100    'l',
1101    'C',
1102    'r',
1103    'e',
1104    'a',
1105    't',
1106    'e',
1107    'S',
1108    't',
1109    'r',
1110    'e',
1111    'a',
1112    'm',
1113    'F',
1114    'r',
1115    'o',
1116    'm',
1117    'F',
1118    'i',
1119    'l',
1120    'e',
1121    'D',
1122    'e',
1123    's',
1124    'c',
1125    'r',
1126    'i',
1127    'p',
1128    't',
1129    'o',
1130    'r',
1131    'K',
1132    'H',
1133    'R',
1134    0, // eglCreateStreamFromFileDescriptorKHR
1135    'e',
1136    'g',
1137    'l',
1138    'C',
1139    'r',
1140    'e',
1141    'a',
1142    't',
1143    'e',
1144    'S',
1145    't',
1146    'r',
1147    'e',
1148    'a',
1149    'm',
1150    'K',
1151    'H',
1152    'R',
1153    0, // eglCreateStreamKHR
1154    'e',
1155    'g',
1156    'l',
1157    'C',
1158    'r',
1159    'e',
1160    'a',
1161    't',
1162    'e',
1163    'S',
1164    't',
1165    'r',
1166    'e',
1167    'a',
1168    'm',
1169    'P',
1170    'r',
1171    'o',
1172    'd',
1173    'u',
1174    'c',
1175    'e',
1176    'r',
1177    'S',
1178    'u',
1179    'r',
1180    'f',
1181    'a',
1182    'c',
1183    'e',
1184    'K',
1185    'H',
1186    'R',
1187    0, // eglCreateStreamProducerSurfaceKHR
1188    'e',
1189    'g',
1190    'l',
1191    'C',
1192    'r',
1193    'e',
1194    'a',
1195    't',
1196    'e',
1197    'S',
1198    't',
1199    'r',
1200    'e',
1201    'a',
1202    'm',
1203    'S',
1204    'y',
1205    'n',
1206    'c',
1207    'N',
1208    'V',
1209    0, // eglCreateStreamSyncNV
1210    'e',
1211    'g',
1212    'l',
1213    'C',
1214    'r',
1215    'e',
1216    'a',
1217    't',
1218    'e',
1219    'S',
1220    'y',
1221    'n',
1222    'c',
1223    0, // eglCreateSync
1224    'e',
1225    'g',
1226    'l',
1227    'C',
1228    'r',
1229    'e',
1230    'a',
1231    't',
1232    'e',
1233    'S',
1234    'y',
1235    'n',
1236    'c',
1237    '6',
1238    '4',
1239    'K',
1240    'H',
1241    'R',
1242    0, // eglCreateSync64KHR
1243    'e',
1244    'g',
1245    'l',
1246    'C',
1247    'r',
1248    'e',
1249    'a',
1250    't',
1251    'e',
1252    'S',
1253    'y',
1254    'n',
1255    'c',
1256    'K',
1257    'H',
1258    'R',
1259    0, // eglCreateSyncKHR
1260    'e',
1261    'g',
1262    'l',
1263    'C',
1264    'r',
1265    'e',
1266    'a',
1267    't',
1268    'e',
1269    'W',
1270    'i',
1271    'n',
1272    'd',
1273    'o',
1274    'w',
1275    'S',
1276    'u',
1277    'r',
1278    'f',
1279    'a',
1280    'c',
1281    'e',
1282    0, // eglCreateWindowSurface
1283    'e',
1284    'g',
1285    'l',
1286    'D',
1287    'e',
1288    'b',
1289    'u',
1290    'g',
1291    'M',
1292    'e',
1293    's',
1294    's',
1295    'a',
1296    'g',
1297    'e',
1298    'C',
1299    'o',
1300    'n',
1301    't',
1302    'r',
1303    'o',
1304    'l',
1305    'K',
1306    'H',
1307    'R',
1308    0, // eglDebugMessageControlKHR
1309    'e',
1310    'g',
1311    'l',
1312    'D',
1313    'e',
1314    's',
1315    't',
1316    'r',
1317    'o',
1318    'y',
1319    'C',
1320    'o',
1321    'n',
1322    't',
1323    'e',
1324    'x',
1325    't',
1326    0, // eglDestroyContext
1327    'e',
1328    'g',
1329    'l',
1330    'D',
1331    'e',
1332    's',
1333    't',
1334    'r',
1335    'o',
1336    'y',
1337    'I',
1338    'm',
1339    'a',
1340    'g',
1341    'e',
1342    0, // eglDestroyImage
1343    'e',
1344    'g',
1345    'l',
1346    'D',
1347    'e',
1348    's',
1349    't',
1350    'r',
1351    'o',
1352    'y',
1353    'I',
1354    'm',
1355    'a',
1356    'g',
1357    'e',
1358    'K',
1359    'H',
1360    'R',
1361    0, // eglDestroyImageKHR
1362    'e',
1363    'g',
1364    'l',
1365    'D',
1366    'e',
1367    's',
1368    't',
1369    'r',
1370    'o',
1371    'y',
1372    'S',
1373    't',
1374    'r',
1375    'e',
1376    'a',
1377    'm',
1378    'K',
1379    'H',
1380    'R',
1381    0, // eglDestroyStreamKHR
1382    'e',
1383    'g',
1384    'l',
1385    'D',
1386    'e',
1387    's',
1388    't',
1389    'r',
1390    'o',
1391    'y',
1392    'S',
1393    'u',
1394    'r',
1395    'f',
1396    'a',
1397    'c',
1398    'e',
1399    0, // eglDestroySurface
1400    'e',
1401    'g',
1402    'l',
1403    'D',
1404    'e',
1405    's',
1406    't',
1407    'r',
1408    'o',
1409    'y',
1410    'S',
1411    'y',
1412    'n',
1413    'c',
1414    0, // eglDestroySync
1415    'e',
1416    'g',
1417    'l',
1418    'D',
1419    'e',
1420    's',
1421    't',
1422    'r',
1423    'o',
1424    'y',
1425    'S',
1426    'y',
1427    'n',
1428    'c',
1429    'K',
1430    'H',
1431    'R',
1432    0, // eglDestroySyncKHR
1433    'e',
1434    'g',
1435    'l',
1436    'D',
1437    'e',
1438    's',
1439    't',
1440    'r',
1441    'o',
1442    'y',
1443    'S',
1444    'y',
1445    'n',
1446    'c',
1447    'N',
1448    'V',
1449    0, // eglDestroySyncNV
1450    'e',
1451    'g',
1452    'l',
1453    'D',
1454    'u',
1455    'p',
1456    'N',
1457    'a',
1458    't',
1459    'i',
1460    'v',
1461    'e',
1462    'F',
1463    'e',
1464    'n',
1465    'c',
1466    'e',
1467    'F',
1468    'D',
1469    'A',
1470    'N',
1471    'D',
1472    'R',
1473    'O',
1474    'I',
1475    'D',
1476    0, // eglDupNativeFenceFDANDROID
1477    'e',
1478    'g',
1479    'l',
1480    'E',
1481    'x',
1482    'p',
1483    'o',
1484    'r',
1485    't',
1486    'D',
1487    'M',
1488    'A',
1489    'B',
1490    'U',
1491    'F',
1492    'I',
1493    'm',
1494    'a',
1495    'g',
1496    'e',
1497    'M',
1498    'E',
1499    'S',
1500    'A',
1501    0, // eglExportDMABUFImageMESA
1502    'e',
1503    'g',
1504    'l',
1505    'E',
1506    'x',
1507    'p',
1508    'o',
1509    'r',
1510    't',
1511    'D',
1512    'M',
1513    'A',
1514    'B',
1515    'U',
1516    'F',
1517    'I',
1518    'm',
1519    'a',
1520    'g',
1521    'e',
1522    'Q',
1523    'u',
1524    'e',
1525    'r',
1526    'y',
1527    'M',
1528    'E',
1529    'S',
1530    'A',
1531    0, // eglExportDMABUFImageQueryMESA
1532    'e',
1533    'g',
1534    'l',
1535    'E',
1536    'x',
1537    'p',
1538    'o',
1539    'r',
1540    't',
1541    'D',
1542    'R',
1543    'M',
1544    'I',
1545    'm',
1546    'a',
1547    'g',
1548    'e',
1549    'M',
1550    'E',
1551    'S',
1552    'A',
1553    0, // eglExportDRMImageMESA
1554    'e',
1555    'g',
1556    'l',
1557    'F',
1558    'e',
1559    'n',
1560    'c',
1561    'e',
1562    'N',
1563    'V',
1564    0, // eglFenceNV
1565    'e',
1566    'g',
1567    'l',
1568    'G',
1569    'e',
1570    't',
1571    'C',
1572    'o',
1573    'm',
1574    'p',
1575    'o',
1576    's',
1577    'i',
1578    't',
1579    'o',
1580    'r',
1581    'T',
1582    'i',
1583    'm',
1584    'i',
1585    'n',
1586    'g',
1587    'A',
1588    'N',
1589    'D',
1590    'R',
1591    'O',
1592    'I',
1593    'D',
1594    0, // eglGetCompositorTimingANDROID
1595    'e',
1596    'g',
1597    'l',
1598    'G',
1599    'e',
1600    't',
1601    'C',
1602    'o',
1603    'm',
1604    'p',
1605    'o',
1606    's',
1607    'i',
1608    't',
1609    'o',
1610    'r',
1611    'T',
1612    'i',
1613    'm',
1614    'i',
1615    'n',
1616    'g',
1617    'S',
1618    'u',
1619    'p',
1620    'p',
1621    'o',
1622    'r',
1623    't',
1624    'e',
1625    'd',
1626    'A',
1627    'N',
1628    'D',
1629    'R',
1630    'O',
1631    'I',
1632    'D',
1633    0, // eglGetCompositorTimingSupportedANDROID
1634    'e',
1635    'g',
1636    'l',
1637    'G',
1638    'e',
1639    't',
1640    'C',
1641    'o',
1642    'n',
1643    'f',
1644    'i',
1645    'g',
1646    'A',
1647    't',
1648    't',
1649    'r',
1650    'i',
1651    'b',
1652    0, // eglGetConfigAttrib
1653    'e',
1654    'g',
1655    'l',
1656    'G',
1657    'e',
1658    't',
1659    'C',
1660    'o',
1661    'n',
1662    'f',
1663    'i',
1664    'g',
1665    's',
1666    0, // eglGetConfigs
1667    'e',
1668    'g',
1669    'l',
1670    'G',
1671    'e',
1672    't',
1673    'C',
1674    'u',
1675    'r',
1676    'r',
1677    'e',
1678    'n',
1679    't',
1680    'C',
1681    'o',
1682    'n',
1683    't',
1684    'e',
1685    'x',
1686    't',
1687    0, // eglGetCurrentContext
1688    'e',
1689    'g',
1690    'l',
1691    'G',
1692    'e',
1693    't',
1694    'C',
1695    'u',
1696    'r',
1697    'r',
1698    'e',
1699    'n',
1700    't',
1701    'D',
1702    'i',
1703    's',
1704    'p',
1705    'l',
1706    'a',
1707    'y',
1708    0, // eglGetCurrentDisplay
1709    'e',
1710    'g',
1711    'l',
1712    'G',
1713    'e',
1714    't',
1715    'C',
1716    'u',
1717    'r',
1718    'r',
1719    'e',
1720    'n',
1721    't',
1722    'S',
1723    'u',
1724    'r',
1725    'f',
1726    'a',
1727    'c',
1728    'e',
1729    0, // eglGetCurrentSurface
1730    'e',
1731    'g',
1732    'l',
1733    'G',
1734    'e',
1735    't',
1736    'D',
1737    'i',
1738    's',
1739    'p',
1740    'l',
1741    'a',
1742    'y',
1743    0, // eglGetDisplay
1744    'e',
1745    'g',
1746    'l',
1747    'G',
1748    'e',
1749    't',
1750    'D',
1751    'i',
1752    's',
1753    'p',
1754    'l',
1755    'a',
1756    'y',
1757    'D',
1758    'r',
1759    'i',
1760    'v',
1761    'e',
1762    'r',
1763    'C',
1764    'o',
1765    'n',
1766    'f',
1767    'i',
1768    'g',
1769    0, // eglGetDisplayDriverConfig
1770    'e',
1771    'g',
1772    'l',
1773    'G',
1774    'e',
1775    't',
1776    'D',
1777    'i',
1778    's',
1779    'p',
1780    'l',
1781    'a',
1782    'y',
1783    'D',
1784    'r',
1785    'i',
1786    'v',
1787    'e',
1788    'r',
1789    'N',
1790    'a',
1791    'm',
1792    'e',
1793    0, // eglGetDisplayDriverName
1794    'e',
1795    'g',
1796    'l',
1797    'G',
1798    'e',
1799    't',
1800    'E',
1801    'r',
1802    'r',
1803    'o',
1804    'r',
1805    0, // eglGetError
1806    'e',
1807    'g',
1808    'l',
1809    'G',
1810    'e',
1811    't',
1812    'F',
1813    'r',
1814    'a',
1815    'm',
1816    'e',
1817    'T',
1818    'i',
1819    'm',
1820    'e',
1821    's',
1822    't',
1823    'a',
1824    'm',
1825    'p',
1826    'S',
1827    'u',
1828    'p',
1829    'p',
1830    'o',
1831    'r',
1832    't',
1833    'e',
1834    'd',
1835    'A',
1836    'N',
1837    'D',
1838    'R',
1839    'O',
1840    'I',
1841    'D',
1842    0, // eglGetFrameTimestampSupportedANDROID
1843    'e',
1844    'g',
1845    'l',
1846    'G',
1847    'e',
1848    't',
1849    'F',
1850    'r',
1851    'a',
1852    'm',
1853    'e',
1854    'T',
1855    'i',
1856    'm',
1857    'e',
1858    's',
1859    't',
1860    'a',
1861    'm',
1862    'p',
1863    's',
1864    'A',
1865    'N',
1866    'D',
1867    'R',
1868    'O',
1869    'I',
1870    'D',
1871    0, // eglGetFrameTimestampsANDROID
1872    'e',
1873    'g',
1874    'l',
1875    'G',
1876    'e',
1877    't',
1878    'N',
1879    'a',
1880    't',
1881    'i',
1882    'v',
1883    'e',
1884    'C',
1885    'l',
1886    'i',
1887    'e',
1888    'n',
1889    't',
1890    'B',
1891    'u',
1892    'f',
1893    'f',
1894    'e',
1895    'r',
1896    'A',
1897    'N',
1898    'D',
1899    'R',
1900    'O',
1901    'I',
1902    'D',
1903    0, // eglGetNativeClientBufferANDROID
1904    'e',
1905    'g',
1906    'l',
1907    'G',
1908    'e',
1909    't',
1910    'N',
1911    'e',
1912    'x',
1913    't',
1914    'F',
1915    'r',
1916    'a',
1917    'm',
1918    'e',
1919    'I',
1920    'd',
1921    'A',
1922    'N',
1923    'D',
1924    'R',
1925    'O',
1926    'I',
1927    'D',
1928    0, // eglGetNextFrameIdANDROID
1929    'e',
1930    'g',
1931    'l',
1932    'G',
1933    'e',
1934    't',
1935    'O',
1936    'u',
1937    't',
1938    'p',
1939    'u',
1940    't',
1941    'L',
1942    'a',
1943    'y',
1944    'e',
1945    'r',
1946    's',
1947    'E',
1948    'X',
1949    'T',
1950    0, // eglGetOutputLayersEXT
1951    'e',
1952    'g',
1953    'l',
1954    'G',
1955    'e',
1956    't',
1957    'O',
1958    'u',
1959    't',
1960    'p',
1961    'u',
1962    't',
1963    'P',
1964    'o',
1965    'r',
1966    't',
1967    's',
1968    'E',
1969    'X',
1970    'T',
1971    0, // eglGetOutputPortsEXT
1972    'e',
1973    'g',
1974    'l',
1975    'G',
1976    'e',
1977    't',
1978    'P',
1979    'l',
1980    'a',
1981    't',
1982    'f',
1983    'o',
1984    'r',
1985    'm',
1986    'D',
1987    'i',
1988    's',
1989    'p',
1990    'l',
1991    'a',
1992    'y',
1993    0, // eglGetPlatformDisplay
1994    'e',
1995    'g',
1996    'l',
1997    'G',
1998    'e',
1999    't',
2000    'P',
2001    'l',
2002    'a',
2003    't',
2004    'f',
2005    'o',
2006    'r',
2007    'm',
2008    'D',
2009    'i',
2010    's',
2011    'p',
2012    'l',
2013    'a',
2014    'y',
2015    'E',
2016    'X',
2017    'T',
2018    0, // eglGetPlatformDisplayEXT
2019    'e',
2020    'g',
2021    'l',
2022    'G',
2023    'e',
2024    't',
2025    'P',
2026    'r',
2027    'o',
2028    'c',
2029    'A',
2030    'd',
2031    'd',
2032    'r',
2033    'e',
2034    's',
2035    's',
2036    0, // eglGetProcAddress
2037    'e',
2038    'g',
2039    'l',
2040    'G',
2041    'e',
2042    't',
2043    'S',
2044    't',
2045    'r',
2046    'e',
2047    'a',
2048    'm',
2049    'F',
2050    'i',
2051    'l',
2052    'e',
2053    'D',
2054    'e',
2055    's',
2056    'c',
2057    'r',
2058    'i',
2059    'p',
2060    't',
2061    'o',
2062    'r',
2063    'K',
2064    'H',
2065    'R',
2066    0, // eglGetStreamFileDescriptorKHR
2067    'e',
2068    'g',
2069    'l',
2070    'G',
2071    'e',
2072    't',
2073    'S',
2074    'y',
2075    'n',
2076    'c',
2077    'A',
2078    't',
2079    't',
2080    'r',
2081    'i',
2082    'b',
2083    0, // eglGetSyncAttrib
2084    'e',
2085    'g',
2086    'l',
2087    'G',
2088    'e',
2089    't',
2090    'S',
2091    'y',
2092    'n',
2093    'c',
2094    'A',
2095    't',
2096    't',
2097    'r',
2098    'i',
2099    'b',
2100    'K',
2101    'H',
2102    'R',
2103    0, // eglGetSyncAttribKHR
2104    'e',
2105    'g',
2106    'l',
2107    'G',
2108    'e',
2109    't',
2110    'S',
2111    'y',
2112    'n',
2113    'c',
2114    'A',
2115    't',
2116    't',
2117    'r',
2118    'i',
2119    'b',
2120    'N',
2121    'V',
2122    0, // eglGetSyncAttribNV
2123    'e',
2124    'g',
2125    'l',
2126    'G',
2127    'e',
2128    't',
2129    'S',
2130    'y',
2131    's',
2132    't',
2133    'e',
2134    'm',
2135    'T',
2136    'i',
2137    'm',
2138    'e',
2139    'F',
2140    'r',
2141    'e',
2142    'q',
2143    'u',
2144    'e',
2145    'n',
2146    'c',
2147    'y',
2148    'N',
2149    'V',
2150    0, // eglGetSystemTimeFrequencyNV
2151    'e',
2152    'g',
2153    'l',
2154    'G',
2155    'e',
2156    't',
2157    'S',
2158    'y',
2159    's',
2160    't',
2161    'e',
2162    'm',
2163    'T',
2164    'i',
2165    'm',
2166    'e',
2167    'N',
2168    'V',
2169    0, // eglGetSystemTimeNV
2170    'e',
2171    'g',
2172    'l',
2173    'I',
2174    'n',
2175    'i',
2176    't',
2177    'i',
2178    'a',
2179    'l',
2180    'i',
2181    'z',
2182    'e',
2183    0, // eglInitialize
2184    'e',
2185    'g',
2186    'l',
2187    'L',
2188    'a',
2189    'b',
2190    'e',
2191    'l',
2192    'O',
2193    'b',
2194    'j',
2195    'e',
2196    'c',
2197    't',
2198    'K',
2199    'H',
2200    'R',
2201    0, // eglLabelObjectKHR
2202    'e',
2203    'g',
2204    'l',
2205    'L',
2206    'o',
2207    'c',
2208    'k',
2209    'S',
2210    'u',
2211    'r',
2212    'f',
2213    'a',
2214    'c',
2215    'e',
2216    'K',
2217    'H',
2218    'R',
2219    0, // eglLockSurfaceKHR
2220    'e',
2221    'g',
2222    'l',
2223    'M',
2224    'a',
2225    'k',
2226    'e',
2227    'C',
2228    'u',
2229    'r',
2230    'r',
2231    'e',
2232    'n',
2233    't',
2234    0, // eglMakeCurrent
2235    'e',
2236    'g',
2237    'l',
2238    'O',
2239    'u',
2240    't',
2241    'p',
2242    'u',
2243    't',
2244    'L',
2245    'a',
2246    'y',
2247    'e',
2248    'r',
2249    'A',
2250    't',
2251    't',
2252    'r',
2253    'i',
2254    'b',
2255    'E',
2256    'X',
2257    'T',
2258    0, // eglOutputLayerAttribEXT
2259    'e',
2260    'g',
2261    'l',
2262    'O',
2263    'u',
2264    't',
2265    'p',
2266    'u',
2267    't',
2268    'P',
2269    'o',
2270    'r',
2271    't',
2272    'A',
2273    't',
2274    't',
2275    'r',
2276    'i',
2277    'b',
2278    'E',
2279    'X',
2280    'T',
2281    0, // eglOutputPortAttribEXT
2282    'e',
2283    'g',
2284    'l',
2285    'P',
2286    'o',
2287    's',
2288    't',
2289    'S',
2290    'u',
2291    'b',
2292    'B',
2293    'u',
2294    'f',
2295    'f',
2296    'e',
2297    'r',
2298    'N',
2299    'V',
2300    0, // eglPostSubBufferNV
2301    'e',
2302    'g',
2303    'l',
2304    'P',
2305    'r',
2306    'e',
2307    's',
2308    'e',
2309    'n',
2310    't',
2311    'a',
2312    't',
2313    'i',
2314    'o',
2315    'n',
2316    'T',
2317    'i',
2318    'm',
2319    'e',
2320    'A',
2321    'N',
2322    'D',
2323    'R',
2324    'O',
2325    'I',
2326    'D',
2327    0, // eglPresentationTimeANDROID
2328    'e',
2329    'g',
2330    'l',
2331    'Q',
2332    'u',
2333    'e',
2334    'r',
2335    'y',
2336    'A',
2337    'P',
2338    'I',
2339    0, // eglQueryAPI
2340    'e',
2341    'g',
2342    'l',
2343    'Q',
2344    'u',
2345    'e',
2346    'r',
2347    'y',
2348    'C',
2349    'o',
2350    'n',
2351    't',
2352    'e',
2353    'x',
2354    't',
2355    0, // eglQueryContext
2356    'e',
2357    'g',
2358    'l',
2359    'Q',
2360    'u',
2361    'e',
2362    'r',
2363    'y',
2364    'D',
2365    'e',
2366    'b',
2367    'u',
2368    'g',
2369    'K',
2370    'H',
2371    'R',
2372    0, // eglQueryDebugKHR
2373    'e',
2374    'g',
2375    'l',
2376    'Q',
2377    'u',
2378    'e',
2379    'r',
2380    'y',
2381    'D',
2382    'e',
2383    'v',
2384    'i',
2385    'c',
2386    'e',
2387    'A',
2388    't',
2389    't',
2390    'r',
2391    'i',
2392    'b',
2393    'E',
2394    'X',
2395    'T',
2396    0, // eglQueryDeviceAttribEXT
2397    'e',
2398    'g',
2399    'l',
2400    'Q',
2401    'u',
2402    'e',
2403    'r',
2404    'y',
2405    'D',
2406    'e',
2407    'v',
2408    'i',
2409    'c',
2410    'e',
2411    'S',
2412    't',
2413    'r',
2414    'i',
2415    'n',
2416    'g',
2417    'E',
2418    'X',
2419    'T',
2420    0, // eglQueryDeviceStringEXT
2421    'e',
2422    'g',
2423    'l',
2424    'Q',
2425    'u',
2426    'e',
2427    'r',
2428    'y',
2429    'D',
2430    'e',
2431    'v',
2432    'i',
2433    'c',
2434    'e',
2435    's',
2436    'E',
2437    'X',
2438    'T',
2439    0, // eglQueryDevicesEXT
2440    'e',
2441    'g',
2442    'l',
2443    'Q',
2444    'u',
2445    'e',
2446    'r',
2447    'y',
2448    'D',
2449    'i',
2450    's',
2451    'p',
2452    'l',
2453    'a',
2454    'y',
2455    'A',
2456    't',
2457    't',
2458    'r',
2459    'i',
2460    'b',
2461    'E',
2462    'X',
2463    'T',
2464    0, // eglQueryDisplayAttribEXT
2465    'e',
2466    'g',
2467    'l',
2468    'Q',
2469    'u',
2470    'e',
2471    'r',
2472    'y',
2473    'D',
2474    'i',
2475    's',
2476    'p',
2477    'l',
2478    'a',
2479    'y',
2480    'A',
2481    't',
2482    't',
2483    'r',
2484    'i',
2485    'b',
2486    'K',
2487    'H',
2488    'R',
2489    0, // eglQueryDisplayAttribKHR
2490    'e',
2491    'g',
2492    'l',
2493    'Q',
2494    'u',
2495    'e',
2496    'r',
2497    'y',
2498    'D',
2499    'i',
2500    's',
2501    'p',
2502    'l',
2503    'a',
2504    'y',
2505    'A',
2506    't',
2507    't',
2508    'r',
2509    'i',
2510    'b',
2511    'N',
2512    'V',
2513    0, // eglQueryDisplayAttribNV
2514    'e',
2515    'g',
2516    'l',
2517    'Q',
2518    'u',
2519    'e',
2520    'r',
2521    'y',
2522    'D',
2523    'm',
2524    'a',
2525    'B',
2526    'u',
2527    'f',
2528    'F',
2529    'o',
2530    'r',
2531    'm',
2532    'a',
2533    't',
2534    's',
2535    'E',
2536    'X',
2537    'T',
2538    0, // eglQueryDmaBufFormatsEXT
2539    'e',
2540    'g',
2541    'l',
2542    'Q',
2543    'u',
2544    'e',
2545    'r',
2546    'y',
2547    'D',
2548    'm',
2549    'a',
2550    'B',
2551    'u',
2552    'f',
2553    'M',
2554    'o',
2555    'd',
2556    'i',
2557    'f',
2558    'i',
2559    'e',
2560    'r',
2561    's',
2562    'E',
2563    'X',
2564    'T',
2565    0, // eglQueryDmaBufModifiersEXT
2566    'e',
2567    'g',
2568    'l',
2569    'Q',
2570    'u',
2571    'e',
2572    'r',
2573    'y',
2574    'N',
2575    'a',
2576    't',
2577    'i',
2578    'v',
2579    'e',
2580    'D',
2581    'i',
2582    's',
2583    'p',
2584    'l',
2585    'a',
2586    'y',
2587    'N',
2588    'V',
2589    0, // eglQueryNativeDisplayNV
2590    'e',
2591    'g',
2592    'l',
2593    'Q',
2594    'u',
2595    'e',
2596    'r',
2597    'y',
2598    'N',
2599    'a',
2600    't',
2601    'i',
2602    'v',
2603    'e',
2604    'P',
2605    'i',
2606    'x',
2607    'm',
2608    'a',
2609    'p',
2610    'N',
2611    'V',
2612    0, // eglQueryNativePixmapNV
2613    'e',
2614    'g',
2615    'l',
2616    'Q',
2617    'u',
2618    'e',
2619    'r',
2620    'y',
2621    'N',
2622    'a',
2623    't',
2624    'i',
2625    'v',
2626    'e',
2627    'W',
2628    'i',
2629    'n',
2630    'd',
2631    'o',
2632    'w',
2633    'N',
2634    'V',
2635    0, // eglQueryNativeWindowNV
2636    'e',
2637    'g',
2638    'l',
2639    'Q',
2640    'u',
2641    'e',
2642    'r',
2643    'y',
2644    'O',
2645    'u',
2646    't',
2647    'p',
2648    'u',
2649    't',
2650    'L',
2651    'a',
2652    'y',
2653    'e',
2654    'r',
2655    'A',
2656    't',
2657    't',
2658    'r',
2659    'i',
2660    'b',
2661    'E',
2662    'X',
2663    'T',
2664    0, // eglQueryOutputLayerAttribEXT
2665    'e',
2666    'g',
2667    'l',
2668    'Q',
2669    'u',
2670    'e',
2671    'r',
2672    'y',
2673    'O',
2674    'u',
2675    't',
2676    'p',
2677    'u',
2678    't',
2679    'L',
2680    'a',
2681    'y',
2682    'e',
2683    'r',
2684    'S',
2685    't',
2686    'r',
2687    'i',
2688    'n',
2689    'g',
2690    'E',
2691    'X',
2692    'T',
2693    0, // eglQueryOutputLayerStringEXT
2694    'e',
2695    'g',
2696    'l',
2697    'Q',
2698    'u',
2699    'e',
2700    'r',
2701    'y',
2702    'O',
2703    'u',
2704    't',
2705    'p',
2706    'u',
2707    't',
2708    'P',
2709    'o',
2710    'r',
2711    't',
2712    'A',
2713    't',
2714    't',
2715    'r',
2716    'i',
2717    'b',
2718    'E',
2719    'X',
2720    'T',
2721    0, // eglQueryOutputPortAttribEXT
2722    'e',
2723    'g',
2724    'l',
2725    'Q',
2726    'u',
2727    'e',
2728    'r',
2729    'y',
2730    'O',
2731    'u',
2732    't',
2733    'p',
2734    'u',
2735    't',
2736    'P',
2737    'o',
2738    'r',
2739    't',
2740    'S',
2741    't',
2742    'r',
2743    'i',
2744    'n',
2745    'g',
2746    'E',
2747    'X',
2748    'T',
2749    0, // eglQueryOutputPortStringEXT
2750    'e',
2751    'g',
2752    'l',
2753    'Q',
2754    'u',
2755    'e',
2756    'r',
2757    'y',
2758    'S',
2759    't',
2760    'r',
2761    'e',
2762    'a',
2763    'm',
2764    'A',
2765    't',
2766    't',
2767    'r',
2768    'i',
2769    'b',
2770    'K',
2771    'H',
2772    'R',
2773    0, // eglQueryStreamAttribKHR
2774    'e',
2775    'g',
2776    'l',
2777    'Q',
2778    'u',
2779    'e',
2780    'r',
2781    'y',
2782    'S',
2783    't',
2784    'r',
2785    'e',
2786    'a',
2787    'm',
2788    'K',
2789    'H',
2790    'R',
2791    0, // eglQueryStreamKHR
2792    'e',
2793    'g',
2794    'l',
2795    'Q',
2796    'u',
2797    'e',
2798    'r',
2799    'y',
2800    'S',
2801    't',
2802    'r',
2803    'e',
2804    'a',
2805    'm',
2806    'M',
2807    'e',
2808    't',
2809    'a',
2810    'd',
2811    'a',
2812    't',
2813    'a',
2814    'N',
2815    'V',
2816    0, // eglQueryStreamMetadataNV
2817    'e',
2818    'g',
2819    'l',
2820    'Q',
2821    'u',
2822    'e',
2823    'r',
2824    'y',
2825    'S',
2826    't',
2827    'r',
2828    'e',
2829    'a',
2830    'm',
2831    'T',
2832    'i',
2833    'm',
2834    'e',
2835    'K',
2836    'H',
2837    'R',
2838    0, // eglQueryStreamTimeKHR
2839    'e',
2840    'g',
2841    'l',
2842    'Q',
2843    'u',
2844    'e',
2845    'r',
2846    'y',
2847    'S',
2848    't',
2849    'r',
2850    'e',
2851    'a',
2852    'm',
2853    'u',
2854    '6',
2855    '4',
2856    'K',
2857    'H',
2858    'R',
2859    0, // eglQueryStreamu64KHR
2860    'e',
2861    'g',
2862    'l',
2863    'Q',
2864    'u',
2865    'e',
2866    'r',
2867    'y',
2868    'S',
2869    't',
2870    'r',
2871    'i',
2872    'n',
2873    'g',
2874    0, // eglQueryString
2875    'e',
2876    'g',
2877    'l',
2878    'Q',
2879    'u',
2880    'e',
2881    'r',
2882    'y',
2883    'S',
2884    'u',
2885    'r',
2886    'f',
2887    'a',
2888    'c',
2889    'e',
2890    0, // eglQuerySurface
2891    'e',
2892    'g',
2893    'l',
2894    'Q',
2895    'u',
2896    'e',
2897    'r',
2898    'y',
2899    'S',
2900    'u',
2901    'r',
2902    'f',
2903    'a',
2904    'c',
2905    'e',
2906    '6',
2907    '4',
2908    'K',
2909    'H',
2910    'R',
2911    0, // eglQuerySurface64KHR
2912    'e',
2913    'g',
2914    'l',
2915    'Q',
2916    'u',
2917    'e',
2918    'r',
2919    'y',
2920    'S',
2921    'u',
2922    'r',
2923    'f',
2924    'a',
2925    'c',
2926    'e',
2927    'P',
2928    'o',
2929    'i',
2930    'n',
2931    't',
2932    'e',
2933    'r',
2934    'A',
2935    'N',
2936    'G',
2937    'L',
2938    'E',
2939    0, // eglQuerySurfacePointerANGLE
2940    'e',
2941    'g',
2942    'l',
2943    'R',
2944    'e',
2945    'l',
2946    'e',
2947    'a',
2948    's',
2949    'e',
2950    'T',
2951    'e',
2952    'x',
2953    'I',
2954    'm',
2955    'a',
2956    'g',
2957    'e',
2958    0, // eglReleaseTexImage
2959    'e',
2960    'g',
2961    'l',
2962    'R',
2963    'e',
2964    'l',
2965    'e',
2966    'a',
2967    's',
2968    'e',
2969    'T',
2970    'h',
2971    'r',
2972    'e',
2973    'a',
2974    'd',
2975    0, // eglReleaseThread
2976    'e',
2977    'g',
2978    'l',
2979    'R',
2980    'e',
2981    's',
2982    'e',
2983    't',
2984    'S',
2985    't',
2986    'r',
2987    'e',
2988    'a',
2989    'm',
2990    'N',
2991    'V',
2992    0, // eglResetStreamNV
2993    'e',
2994    'g',
2995    'l',
2996    'S',
2997    'e',
2998    't',
2999    'B',
3000    'l',
3001    'o',
3002    'b',
3003    'C',
3004    'a',
3005    'c',
3006    'h',
3007    'e',
3008    'F',
3009    'u',
3010    'n',
3011    'c',
3012    's',
3013    'A',
3014    'N',
3015    'D',
3016    'R',
3017    'O',
3018    'I',
3019    'D',
3020    0, // eglSetBlobCacheFuncsANDROID
3021    'e',
3022    'g',
3023    'l',
3024    'S',
3025    'e',
3026    't',
3027    'D',
3028    'a',
3029    'm',
3030    'a',
3031    'g',
3032    'e',
3033    'R',
3034    'e',
3035    'g',
3036    'i',
3037    'o',
3038    'n',
3039    'K',
3040    'H',
3041    'R',
3042    0, // eglSetDamageRegionKHR
3043    'e',
3044    'g',
3045    'l',
3046    'S',
3047    'e',
3048    't',
3049    'S',
3050    't',
3051    'r',
3052    'e',
3053    'a',
3054    'm',
3055    'A',
3056    't',
3057    't',
3058    'r',
3059    'i',
3060    'b',
3061    'K',
3062    'H',
3063    'R',
3064    0, // eglSetStreamAttribKHR
3065    'e',
3066    'g',
3067    'l',
3068    'S',
3069    'e',
3070    't',
3071    'S',
3072    't',
3073    'r',
3074    'e',
3075    'a',
3076    'm',
3077    'M',
3078    'e',
3079    't',
3080    'a',
3081    'd',
3082    'a',
3083    't',
3084    'a',
3085    'N',
3086    'V',
3087    0, // eglSetStreamMetadataNV
3088    'e',
3089    'g',
3090    'l',
3091    'S',
3092    'i',
3093    'g',
3094    'n',
3095    'a',
3096    'l',
3097    'S',
3098    'y',
3099    'n',
3100    'c',
3101    'K',
3102    'H',
3103    'R',
3104    0, // eglSignalSyncKHR
3105    'e',
3106    'g',
3107    'l',
3108    'S',
3109    'i',
3110    'g',
3111    'n',
3112    'a',
3113    'l',
3114    'S',
3115    'y',
3116    'n',
3117    'c',
3118    'N',
3119    'V',
3120    0, // eglSignalSyncNV
3121    'e',
3122    'g',
3123    'l',
3124    'S',
3125    't',
3126    'r',
3127    'e',
3128    'a',
3129    'm',
3130    'A',
3131    't',
3132    't',
3133    'r',
3134    'i',
3135    'b',
3136    'K',
3137    'H',
3138    'R',
3139    0, // eglStreamAttribKHR
3140    'e',
3141    'g',
3142    'l',
3143    'S',
3144    't',
3145    'r',
3146    'e',
3147    'a',
3148    'm',
3149    'C',
3150    'o',
3151    'n',
3152    's',
3153    'u',
3154    'm',
3155    'e',
3156    'r',
3157    'A',
3158    'c',
3159    'q',
3160    'u',
3161    'i',
3162    'r',
3163    'e',
3164    'A',
3165    't',
3166    't',
3167    'r',
3168    'i',
3169    'b',
3170    'K',
3171    'H',
3172    'R',
3173    0, // eglStreamConsumerAcquireAttribKHR
3174    'e',
3175    'g',
3176    'l',
3177    'S',
3178    't',
3179    'r',
3180    'e',
3181    'a',
3182    'm',
3183    'C',
3184    'o',
3185    'n',
3186    's',
3187    'u',
3188    'm',
3189    'e',
3190    'r',
3191    'A',
3192    'c',
3193    'q',
3194    'u',
3195    'i',
3196    'r',
3197    'e',
3198    'K',
3199    'H',
3200    'R',
3201    0, // eglStreamConsumerAcquireKHR
3202    'e',
3203    'g',
3204    'l',
3205    'S',
3206    't',
3207    'r',
3208    'e',
3209    'a',
3210    'm',
3211    'C',
3212    'o',
3213    'n',
3214    's',
3215    'u',
3216    'm',
3217    'e',
3218    'r',
3219    'G',
3220    'L',
3221    'T',
3222    'e',
3223    'x',
3224    't',
3225    'u',
3226    'r',
3227    'e',
3228    'E',
3229    'x',
3230    't',
3231    'e',
3232    'r',
3233    'n',
3234    'a',
3235    'l',
3236    'A',
3237    't',
3238    't',
3239    'r',
3240    'i',
3241    'b',
3242    's',
3243    'N',
3244    'V',
3245    0, // eglStreamConsumerGLTextureExternalAttribsNV
3246    'e',
3247    'g',
3248    'l',
3249    'S',
3250    't',
3251    'r',
3252    'e',
3253    'a',
3254    'm',
3255    'C',
3256    'o',
3257    'n',
3258    's',
3259    'u',
3260    'm',
3261    'e',
3262    'r',
3263    'G',
3264    'L',
3265    'T',
3266    'e',
3267    'x',
3268    't',
3269    'u',
3270    'r',
3271    'e',
3272    'E',
3273    'x',
3274    't',
3275    'e',
3276    'r',
3277    'n',
3278    'a',
3279    'l',
3280    'K',
3281    'H',
3282    'R',
3283    0, // eglStreamConsumerGLTextureExternalKHR
3284    'e',
3285    'g',
3286    'l',
3287    'S',
3288    't',
3289    'r',
3290    'e',
3291    'a',
3292    'm',
3293    'C',
3294    'o',
3295    'n',
3296    's',
3297    'u',
3298    'm',
3299    'e',
3300    'r',
3301    'O',
3302    'u',
3303    't',
3304    'p',
3305    'u',
3306    't',
3307    'E',
3308    'X',
3309    'T',
3310    0, // eglStreamConsumerOutputEXT
3311    'e',
3312    'g',
3313    'l',
3314    'S',
3315    't',
3316    'r',
3317    'e',
3318    'a',
3319    'm',
3320    'C',
3321    'o',
3322    'n',
3323    's',
3324    'u',
3325    'm',
3326    'e',
3327    'r',
3328    'R',
3329    'e',
3330    'l',
3331    'e',
3332    'a',
3333    's',
3334    'e',
3335    'A',
3336    't',
3337    't',
3338    'r',
3339    'i',
3340    'b',
3341    'K',
3342    'H',
3343    'R',
3344    0, // eglStreamConsumerReleaseAttribKHR
3345    'e',
3346    'g',
3347    'l',
3348    'S',
3349    't',
3350    'r',
3351    'e',
3352    'a',
3353    'm',
3354    'C',
3355    'o',
3356    'n',
3357    's',
3358    'u',
3359    'm',
3360    'e',
3361    'r',
3362    'R',
3363    'e',
3364    'l',
3365    'e',
3366    'a',
3367    's',
3368    'e',
3369    'K',
3370    'H',
3371    'R',
3372    0, // eglStreamConsumerReleaseKHR
3373    'e',
3374    'g',
3375    'l',
3376    'S',
3377    't',
3378    'r',
3379    'e',
3380    'a',
3381    'm',
3382    'F',
3383    'l',
3384    'u',
3385    's',
3386    'h',
3387    'N',
3388    'V',
3389    0, // eglStreamFlushNV
3390    'e',
3391    'g',
3392    'l',
3393    'S',
3394    'u',
3395    'r',
3396    'f',
3397    'a',
3398    'c',
3399    'e',
3400    'A',
3401    't',
3402    't',
3403    'r',
3404    'i',
3405    'b',
3406    0, // eglSurfaceAttrib
3407    'e',
3408    'g',
3409    'l',
3410    'S',
3411    'w',
3412    'a',
3413    'p',
3414    'B',
3415    'u',
3416    'f',
3417    'f',
3418    'e',
3419    'r',
3420    's',
3421    0, // eglSwapBuffers
3422    'e',
3423    'g',
3424    'l',
3425    'S',
3426    'w',
3427    'a',
3428    'p',
3429    'B',
3430    'u',
3431    'f',
3432    'f',
3433    'e',
3434    'r',
3435    's',
3436    'R',
3437    'e',
3438    'g',
3439    'i',
3440    'o',
3441    'n',
3442    '2',
3443    'N',
3444    'O',
3445    'K',
3446    0, // eglSwapBuffersRegion2NOK
3447    'e',
3448    'g',
3449    'l',
3450    'S',
3451    'w',
3452    'a',
3453    'p',
3454    'B',
3455    'u',
3456    'f',
3457    'f',
3458    'e',
3459    'r',
3460    's',
3461    'R',
3462    'e',
3463    'g',
3464    'i',
3465    'o',
3466    'n',
3467    'N',
3468    'O',
3469    'K',
3470    0, // eglSwapBuffersRegionNOK
3471    'e',
3472    'g',
3473    'l',
3474    'S',
3475    'w',
3476    'a',
3477    'p',
3478    'B',
3479    'u',
3480    'f',
3481    'f',
3482    'e',
3483    'r',
3484    's',
3485    'W',
3486    'i',
3487    't',
3488    'h',
3489    'D',
3490    'a',
3491    'm',
3492    'a',
3493    'g',
3494    'e',
3495    'E',
3496    'X',
3497    'T',
3498    0, // eglSwapBuffersWithDamageEXT
3499    'e',
3500    'g',
3501    'l',
3502    'S',
3503    'w',
3504    'a',
3505    'p',
3506    'B',
3507    'u',
3508    'f',
3509    'f',
3510    'e',
3511    'r',
3512    's',
3513    'W',
3514    'i',
3515    't',
3516    'h',
3517    'D',
3518    'a',
3519    'm',
3520    'a',
3521    'g',
3522    'e',
3523    'K',
3524    'H',
3525    'R',
3526    0, // eglSwapBuffersWithDamageKHR
3527    'e',
3528    'g',
3529    'l',
3530    'S',
3531    'w',
3532    'a',
3533    'p',
3534    'I',
3535    'n',
3536    't',
3537    'e',
3538    'r',
3539    'v',
3540    'a',
3541    'l',
3542    0, // eglSwapInterval
3543    'e',
3544    'g',
3545    'l',
3546    'T',
3547    'e',
3548    'r',
3549    'm',
3550    'i',
3551    'n',
3552    'a',
3553    't',
3554    'e',
3555    0, // eglTerminate
3556    'e',
3557    'g',
3558    'l',
3559    'U',
3560    'n',
3561    'l',
3562    'o',
3563    'c',
3564    'k',
3565    'S',
3566    'u',
3567    'r',
3568    'f',
3569    'a',
3570    'c',
3571    'e',
3572    'K',
3573    'H',
3574    'R',
3575    0, // eglUnlockSurfaceKHR
3576    'e',
3577    'g',
3578    'l',
3579    'U',
3580    'n',
3581    's',
3582    'i',
3583    'g',
3584    'n',
3585    'a',
3586    'l',
3587    'S',
3588    'y',
3589    'n',
3590    'c',
3591    'E',
3592    'X',
3593    'T',
3594    0, // eglUnsignalSyncEXT
3595    'e',
3596    'g',
3597    'l',
3598    'W',
3599    'a',
3600    'i',
3601    't',
3602    'C',
3603    'l',
3604    'i',
3605    'e',
3606    'n',
3607    't',
3608    0, // eglWaitClient
3609    'e',
3610    'g',
3611    'l',
3612    'W',
3613    'a',
3614    'i',
3615    't',
3616    'G',
3617    'L',
3618    0, // eglWaitGL
3619    'e',
3620    'g',
3621    'l',
3622    'W',
3623    'a',
3624    'i',
3625    't',
3626    'N',
3627    'a',
3628    't',
3629    'i',
3630    'v',
3631    'e',
3632    0, // eglWaitNative
3633    'e',
3634    'g',
3635    'l',
3636    'W',
3637    'a',
3638    'i',
3639    't',
3640    'S',
3641    'y',
3642    'n',
3643    'c',
3644    0, // eglWaitSync
3645    'e',
3646    'g',
3647    'l',
3648    'W',
3649    'a',
3650    'i',
3651    't',
3652    'S',
3653    'y',
3654    'n',
3655    'c',
3656    'K',
3657    'H',
3658    'R',
3659    0, // eglWaitSyncKHR
3660     0 };
3661 
egl_provider_resolver(const char * name,const enum egl_provider * providers,const uint32_t * entrypoints)3662 static void *egl_provider_resolver(const char *name,
3663                                    const enum egl_provider *providers,
3664                                    const uint32_t *entrypoints)
3665 {
3666     int i;
3667     for (i = 0; providers[i] != egl_provider_terminator; i++) {
3668         const char *provider_name = enum_string + enum_string_offsets[providers[i]];
3669         switch (providers[i]) {
3670 
3671         case PROVIDER_EGL_10:
3672             if (true)
3673                 return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
3674             break;
3675         case PROVIDER_EGL_11:
3676             if (epoxy_conservative_egl_version() >= 11)
3677                 return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
3678             break;
3679         case PROVIDER_EGL_12:
3680             if (epoxy_conservative_egl_version() >= 12)
3681                 return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
3682             break;
3683         case PROVIDER_EGL_14:
3684             if (epoxy_conservative_egl_version() >= 14)
3685                 return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
3686             break;
3687         case PROVIDER_EGL_15:
3688             if (epoxy_conservative_egl_version() >= 15)
3689                 return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
3690             break;
3691         case PROVIDER_EGL_ANDROID_blob_cache:
3692             if (epoxy_conservative_has_egl_extension(provider_name))
3693                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3694             break;
3695         case PROVIDER_EGL_ANDROID_create_native_client_buffer:
3696             if (epoxy_conservative_has_egl_extension(provider_name))
3697                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3698             break;
3699         case PROVIDER_EGL_ANDROID_get_frame_timestamps:
3700             if (epoxy_conservative_has_egl_extension(provider_name))
3701                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3702             break;
3703         case PROVIDER_EGL_ANDROID_get_native_client_buffer:
3704             if (epoxy_conservative_has_egl_extension(provider_name))
3705                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3706             break;
3707         case PROVIDER_EGL_ANDROID_native_fence_sync:
3708             if (epoxy_conservative_has_egl_extension(provider_name))
3709                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3710             break;
3711         case PROVIDER_EGL_ANDROID_presentation_time:
3712             if (epoxy_conservative_has_egl_extension(provider_name))
3713                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3714             break;
3715         case PROVIDER_EGL_ANGLE_query_surface_pointer:
3716             if (epoxy_conservative_has_egl_extension(provider_name))
3717                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3718             break;
3719         case PROVIDER_EGL_EXT_client_sync:
3720             if (epoxy_conservative_has_egl_extension(provider_name))
3721                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3722             break;
3723         case PROVIDER_EGL_EXT_compositor:
3724             if (epoxy_conservative_has_egl_extension(provider_name))
3725                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3726             break;
3727         case PROVIDER_EGL_EXT_device_base:
3728             if (epoxy_conservative_has_egl_extension(provider_name))
3729                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3730             break;
3731         case PROVIDER_EGL_EXT_device_enumeration:
3732             if (epoxy_conservative_has_egl_extension(provider_name))
3733                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3734             break;
3735         case PROVIDER_EGL_EXT_device_query:
3736             if (epoxy_conservative_has_egl_extension(provider_name))
3737                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3738             break;
3739         case PROVIDER_EGL_EXT_image_dma_buf_import_modifiers:
3740             if (epoxy_conservative_has_egl_extension(provider_name))
3741                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3742             break;
3743         case PROVIDER_EGL_EXT_output_base:
3744             if (epoxy_conservative_has_egl_extension(provider_name))
3745                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3746             break;
3747         case PROVIDER_EGL_EXT_platform_base:
3748             if (epoxy_conservative_has_egl_extension(provider_name))
3749                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3750             break;
3751         case PROVIDER_EGL_EXT_stream_consumer_egloutput:
3752             if (epoxy_conservative_has_egl_extension(provider_name))
3753                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3754             break;
3755         case PROVIDER_EGL_EXT_swap_buffers_with_damage:
3756             if (epoxy_conservative_has_egl_extension(provider_name))
3757                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3758             break;
3759         case PROVIDER_EGL_EXT_sync_reuse:
3760             if (epoxy_conservative_has_egl_extension(provider_name))
3761                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3762             break;
3763         case PROVIDER_EGL_HI_clientpixmap:
3764             if (epoxy_conservative_has_egl_extension(provider_name))
3765                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3766             break;
3767         case PROVIDER_EGL_KHR_cl_event2:
3768             if (epoxy_conservative_has_egl_extension(provider_name))
3769                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3770             break;
3771         case PROVIDER_EGL_KHR_debug:
3772             if (epoxy_conservative_has_egl_extension(provider_name))
3773                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3774             break;
3775         case PROVIDER_EGL_KHR_display_reference:
3776             if (epoxy_conservative_has_egl_extension(provider_name))
3777                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3778             break;
3779         case PROVIDER_EGL_KHR_fence_sync:
3780             if (epoxy_conservative_has_egl_extension(provider_name))
3781                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3782             break;
3783         case PROVIDER_EGL_KHR_image:
3784             if (epoxy_conservative_has_egl_extension(provider_name))
3785                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3786             break;
3787         case PROVIDER_EGL_KHR_image_base:
3788             if (epoxy_conservative_has_egl_extension(provider_name))
3789                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3790             break;
3791         case PROVIDER_EGL_KHR_lock_surface:
3792             if (epoxy_conservative_has_egl_extension(provider_name))
3793                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3794             break;
3795         case PROVIDER_EGL_KHR_lock_surface3:
3796             if (epoxy_conservative_has_egl_extension(provider_name))
3797                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3798             break;
3799         case PROVIDER_EGL_KHR_partial_update:
3800             if (epoxy_conservative_has_egl_extension(provider_name))
3801                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3802             break;
3803         case PROVIDER_EGL_KHR_reusable_sync:
3804             if (epoxy_conservative_has_egl_extension(provider_name))
3805                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3806             break;
3807         case PROVIDER_EGL_KHR_stream:
3808             if (epoxy_conservative_has_egl_extension(provider_name))
3809                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3810             break;
3811         case PROVIDER_EGL_KHR_stream_attrib:
3812             if (epoxy_conservative_has_egl_extension(provider_name))
3813                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3814             break;
3815         case PROVIDER_EGL_KHR_stream_consumer_gltexture:
3816             if (epoxy_conservative_has_egl_extension(provider_name))
3817                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3818             break;
3819         case PROVIDER_EGL_KHR_stream_cross_process_fd:
3820             if (epoxy_conservative_has_egl_extension(provider_name))
3821                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3822             break;
3823         case PROVIDER_EGL_KHR_stream_fifo:
3824             if (epoxy_conservative_has_egl_extension(provider_name))
3825                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3826             break;
3827         case PROVIDER_EGL_KHR_stream_producer_eglsurface:
3828             if (epoxy_conservative_has_egl_extension(provider_name))
3829                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3830             break;
3831         case PROVIDER_EGL_KHR_swap_buffers_with_damage:
3832             if (epoxy_conservative_has_egl_extension(provider_name))
3833                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3834             break;
3835         case PROVIDER_EGL_KHR_wait_sync:
3836             if (epoxy_conservative_has_egl_extension(provider_name))
3837                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3838             break;
3839         case PROVIDER_EGL_MESA_drm_image:
3840             if (epoxy_conservative_has_egl_extension(provider_name))
3841                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3842             break;
3843         case PROVIDER_EGL_MESA_image_dma_buf_export:
3844             if (epoxy_conservative_has_egl_extension(provider_name))
3845                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3846             break;
3847         case PROVIDER_EGL_MESA_query_driver:
3848             if (epoxy_conservative_has_egl_extension(provider_name))
3849                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3850             break;
3851         case PROVIDER_EGL_NOK_swap_region:
3852             if (epoxy_conservative_has_egl_extension(provider_name))
3853                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3854             break;
3855         case PROVIDER_EGL_NOK_swap_region2:
3856             if (epoxy_conservative_has_egl_extension(provider_name))
3857                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3858             break;
3859         case PROVIDER_EGL_NV_native_query:
3860             if (epoxy_conservative_has_egl_extension(provider_name))
3861                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3862             break;
3863         case PROVIDER_EGL_NV_post_sub_buffer:
3864             if (epoxy_conservative_has_egl_extension(provider_name))
3865                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3866             break;
3867         case PROVIDER_EGL_NV_stream_consumer_gltexture_yuv:
3868             if (epoxy_conservative_has_egl_extension(provider_name))
3869                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3870             break;
3871         case PROVIDER_EGL_NV_stream_flush:
3872             if (epoxy_conservative_has_egl_extension(provider_name))
3873                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3874             break;
3875         case PROVIDER_EGL_NV_stream_metadata:
3876             if (epoxy_conservative_has_egl_extension(provider_name))
3877                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3878             break;
3879         case PROVIDER_EGL_NV_stream_reset:
3880             if (epoxy_conservative_has_egl_extension(provider_name))
3881                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3882             break;
3883         case PROVIDER_EGL_NV_stream_sync:
3884             if (epoxy_conservative_has_egl_extension(provider_name))
3885                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3886             break;
3887         case PROVIDER_EGL_NV_sync:
3888             if (epoxy_conservative_has_egl_extension(provider_name))
3889                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3890             break;
3891         case PROVIDER_EGL_NV_system_time:
3892             if (epoxy_conservative_has_egl_extension(provider_name))
3893                 return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
3894             break;
3895         case egl_provider_terminator:
3896             abort(); /* Not reached */
3897         }
3898     }
3899 
3900     if (epoxy_resolver_failure_handler)
3901         return epoxy_resolver_failure_handler(name);
3902 
3903     fprintf(stderr, "No provider of %s found.  Requires one of:\n", name);
3904     for (i = 0; providers[i] != egl_provider_terminator; i++) {
3905         fprintf(stderr, "    %s\n", enum_string + enum_string_offsets[providers[i]]);
3906     }
3907     if (providers[0] == egl_provider_terminator) {
3908         fprintf(stderr, "    No known providers.  This is likely a bug "
3909                         "in libepoxy code generation\n");
3910     }
3911     abort();
3912 }
3913 
3914 EPOXY_NOINLINE static void *
3915 egl_single_resolver(enum egl_provider provider, uint32_t entrypoint_offset);
3916 
3917 static void *
egl_single_resolver(enum egl_provider provider,uint32_t entrypoint_offset)3918 egl_single_resolver(enum egl_provider provider, uint32_t entrypoint_offset)
3919 {
3920     enum egl_provider providers[] = {
3921         provider,
3922         egl_provider_terminator
3923     };
3924     return egl_provider_resolver(entrypoint_strings + entrypoint_offset,
3925                                 providers, &entrypoint_offset);
3926 }
3927 
3928 static PFNEGLBINDAPIPROC
epoxy_eglBindAPI_resolver(void)3929 epoxy_eglBindAPI_resolver(void)
3930 {
3931     return egl_single_resolver(PROVIDER_EGL_12, 0 /* eglBindAPI */);
3932 }
3933 
3934 static PFNEGLBINDTEXIMAGEPROC
epoxy_eglBindTexImage_resolver(void)3935 epoxy_eglBindTexImage_resolver(void)
3936 {
3937     return egl_single_resolver(PROVIDER_EGL_11, 11 /* eglBindTexImage */);
3938 }
3939 
3940 static PFNEGLCHOOSECONFIGPROC
epoxy_eglChooseConfig_resolver(void)3941 epoxy_eglChooseConfig_resolver(void)
3942 {
3943     return egl_single_resolver(PROVIDER_EGL_10, 27 /* eglChooseConfig */);
3944 }
3945 
3946 static PFNEGLCLIENTSIGNALSYNCEXTPROC
epoxy_eglClientSignalSyncEXT_resolver(void)3947 epoxy_eglClientSignalSyncEXT_resolver(void)
3948 {
3949     return egl_single_resolver(PROVIDER_EGL_EXT_client_sync, 43 /* eglClientSignalSyncEXT */);
3950 }
3951 
3952 static PFNEGLCLIENTWAITSYNCPROC
epoxy_eglClientWaitSync_resolver(void)3953 epoxy_eglClientWaitSync_resolver(void)
3954 {
3955     static const enum egl_provider providers[] = {
3956         PROVIDER_EGL_15,
3957         PROVIDER_EGL_KHR_fence_sync,
3958         PROVIDER_EGL_KHR_reusable_sync,
3959         egl_provider_terminator
3960     };
3961     static const uint32_t entrypoints[] = {
3962         66 /* "eglClientWaitSync" */,
3963         84 /* "eglClientWaitSyncKHR" */,
3964         84 /* "eglClientWaitSyncKHR" */,
3965     };
3966     return egl_provider_resolver(entrypoint_strings + 66 /* "eglClientWaitSync" */,
3967                                 providers, entrypoints);
3968 }
3969 
3970 static PFNEGLCLIENTWAITSYNCKHRPROC
epoxy_eglClientWaitSyncKHR_resolver(void)3971 epoxy_eglClientWaitSyncKHR_resolver(void)
3972 {
3973     static const enum egl_provider providers[] = {
3974         PROVIDER_EGL_KHR_fence_sync,
3975         PROVIDER_EGL_KHR_reusable_sync,
3976         PROVIDER_EGL_15,
3977         egl_provider_terminator
3978     };
3979     static const uint32_t entrypoints[] = {
3980         84 /* "eglClientWaitSyncKHR" */,
3981         84 /* "eglClientWaitSyncKHR" */,
3982         66 /* "eglClientWaitSync" */,
3983     };
3984     return egl_provider_resolver(entrypoint_strings + 84 /* "eglClientWaitSyncKHR" */,
3985                                 providers, entrypoints);
3986 }
3987 
3988 static PFNEGLCLIENTWAITSYNCNVPROC
epoxy_eglClientWaitSyncNV_resolver(void)3989 epoxy_eglClientWaitSyncNV_resolver(void)
3990 {
3991     return egl_single_resolver(PROVIDER_EGL_NV_sync, 105 /* eglClientWaitSyncNV */);
3992 }
3993 
3994 static PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC
epoxy_eglCompositorBindTexWindowEXT_resolver(void)3995 epoxy_eglCompositorBindTexWindowEXT_resolver(void)
3996 {
3997     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 125 /* eglCompositorBindTexWindowEXT */);
3998 }
3999 
4000 static PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC
epoxy_eglCompositorSetContextAttributesEXT_resolver(void)4001 epoxy_eglCompositorSetContextAttributesEXT_resolver(void)
4002 {
4003     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 155 /* eglCompositorSetContextAttributesEXT */);
4004 }
4005 
4006 static PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC
epoxy_eglCompositorSetContextListEXT_resolver(void)4007 epoxy_eglCompositorSetContextListEXT_resolver(void)
4008 {
4009     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 192 /* eglCompositorSetContextListEXT */);
4010 }
4011 
4012 static PFNEGLCOMPOSITORSETSIZEEXTPROC
epoxy_eglCompositorSetSizeEXT_resolver(void)4013 epoxy_eglCompositorSetSizeEXT_resolver(void)
4014 {
4015     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 223 /* eglCompositorSetSizeEXT */);
4016 }
4017 
4018 static PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC
epoxy_eglCompositorSetWindowAttributesEXT_resolver(void)4019 epoxy_eglCompositorSetWindowAttributesEXT_resolver(void)
4020 {
4021     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 247 /* eglCompositorSetWindowAttributesEXT */);
4022 }
4023 
4024 static PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC
epoxy_eglCompositorSetWindowListEXT_resolver(void)4025 epoxy_eglCompositorSetWindowListEXT_resolver(void)
4026 {
4027     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 283 /* eglCompositorSetWindowListEXT */);
4028 }
4029 
4030 static PFNEGLCOMPOSITORSWAPPOLICYEXTPROC
epoxy_eglCompositorSwapPolicyEXT_resolver(void)4031 epoxy_eglCompositorSwapPolicyEXT_resolver(void)
4032 {
4033     return egl_single_resolver(PROVIDER_EGL_EXT_compositor, 313 /* eglCompositorSwapPolicyEXT */);
4034 }
4035 
4036 static PFNEGLCOPYBUFFERSPROC
epoxy_eglCopyBuffers_resolver(void)4037 epoxy_eglCopyBuffers_resolver(void)
4038 {
4039     return egl_single_resolver(PROVIDER_EGL_10, 340 /* eglCopyBuffers */);
4040 }
4041 
4042 static PFNEGLCREATECONTEXTPROC
epoxy_eglCreateContext_resolver(void)4043 epoxy_eglCreateContext_resolver(void)
4044 {
4045     return egl_single_resolver(PROVIDER_EGL_10, 355 /* eglCreateContext */);
4046 }
4047 
4048 static PFNEGLCREATEDRMIMAGEMESAPROC
epoxy_eglCreateDRMImageMESA_resolver(void)4049 epoxy_eglCreateDRMImageMESA_resolver(void)
4050 {
4051     return egl_single_resolver(PROVIDER_EGL_MESA_drm_image, 372 /* eglCreateDRMImageMESA */);
4052 }
4053 
4054 static PFNEGLCREATEFENCESYNCNVPROC
epoxy_eglCreateFenceSyncNV_resolver(void)4055 epoxy_eglCreateFenceSyncNV_resolver(void)
4056 {
4057     return egl_single_resolver(PROVIDER_EGL_NV_sync, 394 /* eglCreateFenceSyncNV */);
4058 }
4059 
4060 static PFNEGLCREATEIMAGEPROC
epoxy_eglCreateImage_resolver(void)4061 epoxy_eglCreateImage_resolver(void)
4062 {
4063     return egl_single_resolver(PROVIDER_EGL_15, 415 /* eglCreateImage */);
4064 }
4065 
4066 static PFNEGLCREATEIMAGEKHRPROC
epoxy_eglCreateImageKHR_resolver(void)4067 epoxy_eglCreateImageKHR_resolver(void)
4068 {
4069     static const enum egl_provider providers[] = {
4070         PROVIDER_EGL_KHR_image,
4071         PROVIDER_EGL_KHR_image_base,
4072         egl_provider_terminator
4073     };
4074     static const uint32_t entrypoints[] = {
4075         430 /* "eglCreateImageKHR" */,
4076         430 /* "eglCreateImageKHR" */,
4077     };
4078     return egl_provider_resolver(entrypoint_strings + 430 /* "eglCreateImageKHR" */,
4079                                 providers, entrypoints);
4080 }
4081 
4082 static PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC
epoxy_eglCreateNativeClientBufferANDROID_resolver(void)4083 epoxy_eglCreateNativeClientBufferANDROID_resolver(void)
4084 {
4085     return egl_single_resolver(PROVIDER_EGL_ANDROID_create_native_client_buffer, 448 /* eglCreateNativeClientBufferANDROID */);
4086 }
4087 
4088 static PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC
epoxy_eglCreatePbufferFromClientBuffer_resolver(void)4089 epoxy_eglCreatePbufferFromClientBuffer_resolver(void)
4090 {
4091     return egl_single_resolver(PROVIDER_EGL_12, 483 /* eglCreatePbufferFromClientBuffer */);
4092 }
4093 
4094 static PFNEGLCREATEPBUFFERSURFACEPROC
epoxy_eglCreatePbufferSurface_resolver(void)4095 epoxy_eglCreatePbufferSurface_resolver(void)
4096 {
4097     return egl_single_resolver(PROVIDER_EGL_10, 516 /* eglCreatePbufferSurface */);
4098 }
4099 
4100 static PFNEGLCREATEPIXMAPSURFACEPROC
epoxy_eglCreatePixmapSurface_resolver(void)4101 epoxy_eglCreatePixmapSurface_resolver(void)
4102 {
4103     return egl_single_resolver(PROVIDER_EGL_10, 540 /* eglCreatePixmapSurface */);
4104 }
4105 
4106 static PFNEGLCREATEPIXMAPSURFACEHIPROC
epoxy_eglCreatePixmapSurfaceHI_resolver(void)4107 epoxy_eglCreatePixmapSurfaceHI_resolver(void)
4108 {
4109     return egl_single_resolver(PROVIDER_EGL_HI_clientpixmap, 563 /* eglCreatePixmapSurfaceHI */);
4110 }
4111 
4112 static PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC
epoxy_eglCreatePlatformPixmapSurface_resolver(void)4113 epoxy_eglCreatePlatformPixmapSurface_resolver(void)
4114 {
4115     return egl_single_resolver(PROVIDER_EGL_15, 588 /* eglCreatePlatformPixmapSurface */);
4116 }
4117 
4118 static PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
epoxy_eglCreatePlatformPixmapSurfaceEXT_resolver(void)4119 epoxy_eglCreatePlatformPixmapSurfaceEXT_resolver(void)
4120 {
4121     return egl_single_resolver(PROVIDER_EGL_EXT_platform_base, 619 /* eglCreatePlatformPixmapSurfaceEXT */);
4122 }
4123 
4124 static PFNEGLCREATEPLATFORMWINDOWSURFACEPROC
epoxy_eglCreatePlatformWindowSurface_resolver(void)4125 epoxy_eglCreatePlatformWindowSurface_resolver(void)
4126 {
4127     return egl_single_resolver(PROVIDER_EGL_15, 653 /* eglCreatePlatformWindowSurface */);
4128 }
4129 
4130 static PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
epoxy_eglCreatePlatformWindowSurfaceEXT_resolver(void)4131 epoxy_eglCreatePlatformWindowSurfaceEXT_resolver(void)
4132 {
4133     return egl_single_resolver(PROVIDER_EGL_EXT_platform_base, 684 /* eglCreatePlatformWindowSurfaceEXT */);
4134 }
4135 
4136 static PFNEGLCREATESTREAMATTRIBKHRPROC
epoxy_eglCreateStreamAttribKHR_resolver(void)4137 epoxy_eglCreateStreamAttribKHR_resolver(void)
4138 {
4139     return egl_single_resolver(PROVIDER_EGL_KHR_stream_attrib, 718 /* eglCreateStreamAttribKHR */);
4140 }
4141 
4142 static PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC
epoxy_eglCreateStreamFromFileDescriptorKHR_resolver(void)4143 epoxy_eglCreateStreamFromFileDescriptorKHR_resolver(void)
4144 {
4145     return egl_single_resolver(PROVIDER_EGL_KHR_stream_cross_process_fd, 743 /* eglCreateStreamFromFileDescriptorKHR */);
4146 }
4147 
4148 static PFNEGLCREATESTREAMKHRPROC
epoxy_eglCreateStreamKHR_resolver(void)4149 epoxy_eglCreateStreamKHR_resolver(void)
4150 {
4151     return egl_single_resolver(PROVIDER_EGL_KHR_stream, 780 /* eglCreateStreamKHR */);
4152 }
4153 
4154 static PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC
epoxy_eglCreateStreamProducerSurfaceKHR_resolver(void)4155 epoxy_eglCreateStreamProducerSurfaceKHR_resolver(void)
4156 {
4157     return egl_single_resolver(PROVIDER_EGL_KHR_stream_producer_eglsurface, 799 /* eglCreateStreamProducerSurfaceKHR */);
4158 }
4159 
4160 static PFNEGLCREATESTREAMSYNCNVPROC
epoxy_eglCreateStreamSyncNV_resolver(void)4161 epoxy_eglCreateStreamSyncNV_resolver(void)
4162 {
4163     return egl_single_resolver(PROVIDER_EGL_NV_stream_sync, 833 /* eglCreateStreamSyncNV */);
4164 }
4165 
4166 static PFNEGLCREATESYNCPROC
epoxy_eglCreateSync_resolver(void)4167 epoxy_eglCreateSync_resolver(void)
4168 {
4169     static const enum egl_provider providers[] = {
4170         PROVIDER_EGL_15,
4171         PROVIDER_EGL_KHR_cl_event2,
4172         egl_provider_terminator
4173     };
4174     static const uint32_t entrypoints[] = {
4175         855 /* "eglCreateSync" */,
4176         869 /* "eglCreateSync64KHR" */,
4177     };
4178     return egl_provider_resolver(entrypoint_strings + 855 /* "eglCreateSync" */,
4179                                 providers, entrypoints);
4180 }
4181 
4182 static PFNEGLCREATESYNC64KHRPROC
epoxy_eglCreateSync64KHR_resolver(void)4183 epoxy_eglCreateSync64KHR_resolver(void)
4184 {
4185     static const enum egl_provider providers[] = {
4186         PROVIDER_EGL_KHR_cl_event2,
4187         PROVIDER_EGL_15,
4188         egl_provider_terminator
4189     };
4190     static const uint32_t entrypoints[] = {
4191         869 /* "eglCreateSync64KHR" */,
4192         855 /* "eglCreateSync" */,
4193     };
4194     return egl_provider_resolver(entrypoint_strings + 869 /* "eglCreateSync64KHR" */,
4195                                 providers, entrypoints);
4196 }
4197 
4198 static PFNEGLCREATESYNCKHRPROC
epoxy_eglCreateSyncKHR_resolver(void)4199 epoxy_eglCreateSyncKHR_resolver(void)
4200 {
4201     static const enum egl_provider providers[] = {
4202         PROVIDER_EGL_KHR_fence_sync,
4203         PROVIDER_EGL_KHR_reusable_sync,
4204         egl_provider_terminator
4205     };
4206     static const uint32_t entrypoints[] = {
4207         888 /* "eglCreateSyncKHR" */,
4208         888 /* "eglCreateSyncKHR" */,
4209     };
4210     return egl_provider_resolver(entrypoint_strings + 888 /* "eglCreateSyncKHR" */,
4211                                 providers, entrypoints);
4212 }
4213 
4214 static PFNEGLCREATEWINDOWSURFACEPROC
epoxy_eglCreateWindowSurface_resolver(void)4215 epoxy_eglCreateWindowSurface_resolver(void)
4216 {
4217     return egl_single_resolver(PROVIDER_EGL_10, 905 /* eglCreateWindowSurface */);
4218 }
4219 
4220 static PFNEGLDEBUGMESSAGECONTROLKHRPROC
epoxy_eglDebugMessageControlKHR_resolver(void)4221 epoxy_eglDebugMessageControlKHR_resolver(void)
4222 {
4223     return egl_single_resolver(PROVIDER_EGL_KHR_debug, 928 /* eglDebugMessageControlKHR */);
4224 }
4225 
4226 static PFNEGLDESTROYCONTEXTPROC
epoxy_eglDestroyContext_resolver(void)4227 epoxy_eglDestroyContext_resolver(void)
4228 {
4229     return egl_single_resolver(PROVIDER_EGL_10, 954 /* eglDestroyContext */);
4230 }
4231 
4232 static PFNEGLDESTROYIMAGEPROC
epoxy_eglDestroyImage_resolver(void)4233 epoxy_eglDestroyImage_resolver(void)
4234 {
4235     static const enum egl_provider providers[] = {
4236         PROVIDER_EGL_15,
4237         PROVIDER_EGL_KHR_image,
4238         PROVIDER_EGL_KHR_image_base,
4239         egl_provider_terminator
4240     };
4241     static const uint32_t entrypoints[] = {
4242         972 /* "eglDestroyImage" */,
4243         988 /* "eglDestroyImageKHR" */,
4244         988 /* "eglDestroyImageKHR" */,
4245     };
4246     return egl_provider_resolver(entrypoint_strings + 972 /* "eglDestroyImage" */,
4247                                 providers, entrypoints);
4248 }
4249 
4250 static PFNEGLDESTROYIMAGEKHRPROC
epoxy_eglDestroyImageKHR_resolver(void)4251 epoxy_eglDestroyImageKHR_resolver(void)
4252 {
4253     static const enum egl_provider providers[] = {
4254         PROVIDER_EGL_KHR_image,
4255         PROVIDER_EGL_KHR_image_base,
4256         PROVIDER_EGL_15,
4257         egl_provider_terminator
4258     };
4259     static const uint32_t entrypoints[] = {
4260         988 /* "eglDestroyImageKHR" */,
4261         988 /* "eglDestroyImageKHR" */,
4262         972 /* "eglDestroyImage" */,
4263     };
4264     return egl_provider_resolver(entrypoint_strings + 988 /* "eglDestroyImageKHR" */,
4265                                 providers, entrypoints);
4266 }
4267 
4268 static PFNEGLDESTROYSTREAMKHRPROC
epoxy_eglDestroyStreamKHR_resolver(void)4269 epoxy_eglDestroyStreamKHR_resolver(void)
4270 {
4271     return egl_single_resolver(PROVIDER_EGL_KHR_stream, 1007 /* eglDestroyStreamKHR */);
4272 }
4273 
4274 static PFNEGLDESTROYSURFACEPROC
epoxy_eglDestroySurface_resolver(void)4275 epoxy_eglDestroySurface_resolver(void)
4276 {
4277     return egl_single_resolver(PROVIDER_EGL_10, 1027 /* eglDestroySurface */);
4278 }
4279 
4280 static PFNEGLDESTROYSYNCPROC
epoxy_eglDestroySync_resolver(void)4281 epoxy_eglDestroySync_resolver(void)
4282 {
4283     static const enum egl_provider providers[] = {
4284         PROVIDER_EGL_15,
4285         PROVIDER_EGL_KHR_fence_sync,
4286         PROVIDER_EGL_KHR_reusable_sync,
4287         egl_provider_terminator
4288     };
4289     static const uint32_t entrypoints[] = {
4290         1045 /* "eglDestroySync" */,
4291         1060 /* "eglDestroySyncKHR" */,
4292         1060 /* "eglDestroySyncKHR" */,
4293     };
4294     return egl_provider_resolver(entrypoint_strings + 1045 /* "eglDestroySync" */,
4295                                 providers, entrypoints);
4296 }
4297 
4298 static PFNEGLDESTROYSYNCKHRPROC
epoxy_eglDestroySyncKHR_resolver(void)4299 epoxy_eglDestroySyncKHR_resolver(void)
4300 {
4301     static const enum egl_provider providers[] = {
4302         PROVIDER_EGL_KHR_fence_sync,
4303         PROVIDER_EGL_KHR_reusable_sync,
4304         PROVIDER_EGL_15,
4305         egl_provider_terminator
4306     };
4307     static const uint32_t entrypoints[] = {
4308         1060 /* "eglDestroySyncKHR" */,
4309         1060 /* "eglDestroySyncKHR" */,
4310         1045 /* "eglDestroySync" */,
4311     };
4312     return egl_provider_resolver(entrypoint_strings + 1060 /* "eglDestroySyncKHR" */,
4313                                 providers, entrypoints);
4314 }
4315 
4316 static PFNEGLDESTROYSYNCNVPROC
epoxy_eglDestroySyncNV_resolver(void)4317 epoxy_eglDestroySyncNV_resolver(void)
4318 {
4319     return egl_single_resolver(PROVIDER_EGL_NV_sync, 1078 /* eglDestroySyncNV */);
4320 }
4321 
4322 static PFNEGLDUPNATIVEFENCEFDANDROIDPROC
epoxy_eglDupNativeFenceFDANDROID_resolver(void)4323 epoxy_eglDupNativeFenceFDANDROID_resolver(void)
4324 {
4325     return egl_single_resolver(PROVIDER_EGL_ANDROID_native_fence_sync, 1095 /* eglDupNativeFenceFDANDROID */);
4326 }
4327 
4328 static PFNEGLEXPORTDMABUFIMAGEMESAPROC
epoxy_eglExportDMABUFImageMESA_resolver(void)4329 epoxy_eglExportDMABUFImageMESA_resolver(void)
4330 {
4331     return egl_single_resolver(PROVIDER_EGL_MESA_image_dma_buf_export, 1122 /* eglExportDMABUFImageMESA */);
4332 }
4333 
4334 static PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC
epoxy_eglExportDMABUFImageQueryMESA_resolver(void)4335 epoxy_eglExportDMABUFImageQueryMESA_resolver(void)
4336 {
4337     return egl_single_resolver(PROVIDER_EGL_MESA_image_dma_buf_export, 1147 /* eglExportDMABUFImageQueryMESA */);
4338 }
4339 
4340 static PFNEGLEXPORTDRMIMAGEMESAPROC
epoxy_eglExportDRMImageMESA_resolver(void)4341 epoxy_eglExportDRMImageMESA_resolver(void)
4342 {
4343     return egl_single_resolver(PROVIDER_EGL_MESA_drm_image, 1177 /* eglExportDRMImageMESA */);
4344 }
4345 
4346 static PFNEGLFENCENVPROC
epoxy_eglFenceNV_resolver(void)4347 epoxy_eglFenceNV_resolver(void)
4348 {
4349     return egl_single_resolver(PROVIDER_EGL_NV_sync, 1199 /* eglFenceNV */);
4350 }
4351 
4352 static PFNEGLGETCOMPOSITORTIMINGANDROIDPROC
epoxy_eglGetCompositorTimingANDROID_resolver(void)4353 epoxy_eglGetCompositorTimingANDROID_resolver(void)
4354 {
4355     return egl_single_resolver(PROVIDER_EGL_ANDROID_get_frame_timestamps, 1210 /* eglGetCompositorTimingANDROID */);
4356 }
4357 
4358 static PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC
epoxy_eglGetCompositorTimingSupportedANDROID_resolver(void)4359 epoxy_eglGetCompositorTimingSupportedANDROID_resolver(void)
4360 {
4361     return egl_single_resolver(PROVIDER_EGL_ANDROID_get_frame_timestamps, 1240 /* eglGetCompositorTimingSupportedANDROID */);
4362 }
4363 
4364 static PFNEGLGETCONFIGATTRIBPROC
epoxy_eglGetConfigAttrib_resolver(void)4365 epoxy_eglGetConfigAttrib_resolver(void)
4366 {
4367     return egl_single_resolver(PROVIDER_EGL_10, 1279 /* eglGetConfigAttrib */);
4368 }
4369 
4370 static PFNEGLGETCONFIGSPROC
epoxy_eglGetConfigs_resolver(void)4371 epoxy_eglGetConfigs_resolver(void)
4372 {
4373     return egl_single_resolver(PROVIDER_EGL_10, 1298 /* eglGetConfigs */);
4374 }
4375 
4376 static PFNEGLGETCURRENTCONTEXTPROC
epoxy_eglGetCurrentContext_resolver(void)4377 epoxy_eglGetCurrentContext_resolver(void)
4378 {
4379     return egl_single_resolver(PROVIDER_EGL_14, 1312 /* eglGetCurrentContext */);
4380 }
4381 
4382 static PFNEGLGETCURRENTDISPLAYPROC
epoxy_eglGetCurrentDisplay_resolver(void)4383 epoxy_eglGetCurrentDisplay_resolver(void)
4384 {
4385     return egl_single_resolver(PROVIDER_EGL_10, 1333 /* eglGetCurrentDisplay */);
4386 }
4387 
4388 static PFNEGLGETCURRENTSURFACEPROC
epoxy_eglGetCurrentSurface_resolver(void)4389 epoxy_eglGetCurrentSurface_resolver(void)
4390 {
4391     return egl_single_resolver(PROVIDER_EGL_10, 1354 /* eglGetCurrentSurface */);
4392 }
4393 
4394 static PFNEGLGETDISPLAYPROC
epoxy_eglGetDisplay_resolver(void)4395 epoxy_eglGetDisplay_resolver(void)
4396 {
4397     return egl_single_resolver(PROVIDER_EGL_10, 1375 /* eglGetDisplay */);
4398 }
4399 
4400 static PFNEGLGETDISPLAYDRIVERCONFIGPROC
epoxy_eglGetDisplayDriverConfig_resolver(void)4401 epoxy_eglGetDisplayDriverConfig_resolver(void)
4402 {
4403     return egl_single_resolver(PROVIDER_EGL_MESA_query_driver, 1389 /* eglGetDisplayDriverConfig */);
4404 }
4405 
4406 static PFNEGLGETDISPLAYDRIVERNAMEPROC
epoxy_eglGetDisplayDriverName_resolver(void)4407 epoxy_eglGetDisplayDriverName_resolver(void)
4408 {
4409     return egl_single_resolver(PROVIDER_EGL_MESA_query_driver, 1415 /* eglGetDisplayDriverName */);
4410 }
4411 
4412 static PFNEGLGETERRORPROC
epoxy_eglGetError_resolver(void)4413 epoxy_eglGetError_resolver(void)
4414 {
4415     return egl_single_resolver(PROVIDER_EGL_10, 1439 /* eglGetError */);
4416 }
4417 
4418 static PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC
epoxy_eglGetFrameTimestampSupportedANDROID_resolver(void)4419 epoxy_eglGetFrameTimestampSupportedANDROID_resolver(void)
4420 {
4421     return egl_single_resolver(PROVIDER_EGL_ANDROID_get_frame_timestamps, 1451 /* eglGetFrameTimestampSupportedANDROID */);
4422 }
4423 
4424 static PFNEGLGETFRAMETIMESTAMPSANDROIDPROC
epoxy_eglGetFrameTimestampsANDROID_resolver(void)4425 epoxy_eglGetFrameTimestampsANDROID_resolver(void)
4426 {
4427     return egl_single_resolver(PROVIDER_EGL_ANDROID_get_frame_timestamps, 1488 /* eglGetFrameTimestampsANDROID */);
4428 }
4429 
4430 static PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC
epoxy_eglGetNativeClientBufferANDROID_resolver(void)4431 epoxy_eglGetNativeClientBufferANDROID_resolver(void)
4432 {
4433     return egl_single_resolver(PROVIDER_EGL_ANDROID_get_native_client_buffer, 1517 /* eglGetNativeClientBufferANDROID */);
4434 }
4435 
4436 static PFNEGLGETNEXTFRAMEIDANDROIDPROC
epoxy_eglGetNextFrameIdANDROID_resolver(void)4437 epoxy_eglGetNextFrameIdANDROID_resolver(void)
4438 {
4439     return egl_single_resolver(PROVIDER_EGL_ANDROID_get_frame_timestamps, 1549 /* eglGetNextFrameIdANDROID */);
4440 }
4441 
4442 static PFNEGLGETOUTPUTLAYERSEXTPROC
epoxy_eglGetOutputLayersEXT_resolver(void)4443 epoxy_eglGetOutputLayersEXT_resolver(void)
4444 {
4445     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 1574 /* eglGetOutputLayersEXT */);
4446 }
4447 
4448 static PFNEGLGETOUTPUTPORTSEXTPROC
epoxy_eglGetOutputPortsEXT_resolver(void)4449 epoxy_eglGetOutputPortsEXT_resolver(void)
4450 {
4451     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 1596 /* eglGetOutputPortsEXT */);
4452 }
4453 
4454 static PFNEGLGETPLATFORMDISPLAYPROC
epoxy_eglGetPlatformDisplay_resolver(void)4455 epoxy_eglGetPlatformDisplay_resolver(void)
4456 {
4457     return egl_single_resolver(PROVIDER_EGL_15, 1617 /* eglGetPlatformDisplay */);
4458 }
4459 
4460 static PFNEGLGETPLATFORMDISPLAYEXTPROC
epoxy_eglGetPlatformDisplayEXT_resolver(void)4461 epoxy_eglGetPlatformDisplayEXT_resolver(void)
4462 {
4463     return egl_single_resolver(PROVIDER_EGL_EXT_platform_base, 1639 /* eglGetPlatformDisplayEXT */);
4464 }
4465 
4466 static PFNEGLGETPROCADDRESSPROC
epoxy_eglGetProcAddress_resolver(void)4467 epoxy_eglGetProcAddress_resolver(void)
4468 {
4469     return egl_single_resolver(PROVIDER_EGL_10, 1664 /* eglGetProcAddress */);
4470 }
4471 
4472 static PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC
epoxy_eglGetStreamFileDescriptorKHR_resolver(void)4473 epoxy_eglGetStreamFileDescriptorKHR_resolver(void)
4474 {
4475     return egl_single_resolver(PROVIDER_EGL_KHR_stream_cross_process_fd, 1682 /* eglGetStreamFileDescriptorKHR */);
4476 }
4477 
4478 static PFNEGLGETSYNCATTRIBPROC
epoxy_eglGetSyncAttrib_resolver(void)4479 epoxy_eglGetSyncAttrib_resolver(void)
4480 {
4481     return egl_single_resolver(PROVIDER_EGL_15, 1712 /* eglGetSyncAttrib */);
4482 }
4483 
4484 static PFNEGLGETSYNCATTRIBKHRPROC
epoxy_eglGetSyncAttribKHR_resolver(void)4485 epoxy_eglGetSyncAttribKHR_resolver(void)
4486 {
4487     static const enum egl_provider providers[] = {
4488         PROVIDER_EGL_KHR_fence_sync,
4489         PROVIDER_EGL_KHR_reusable_sync,
4490         egl_provider_terminator
4491     };
4492     static const uint32_t entrypoints[] = {
4493         1729 /* "eglGetSyncAttribKHR" */,
4494         1729 /* "eglGetSyncAttribKHR" */,
4495     };
4496     return egl_provider_resolver(entrypoint_strings + 1729 /* "eglGetSyncAttribKHR" */,
4497                                 providers, entrypoints);
4498 }
4499 
4500 static PFNEGLGETSYNCATTRIBNVPROC
epoxy_eglGetSyncAttribNV_resolver(void)4501 epoxy_eglGetSyncAttribNV_resolver(void)
4502 {
4503     return egl_single_resolver(PROVIDER_EGL_NV_sync, 1749 /* eglGetSyncAttribNV */);
4504 }
4505 
4506 static PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC
epoxy_eglGetSystemTimeFrequencyNV_resolver(void)4507 epoxy_eglGetSystemTimeFrequencyNV_resolver(void)
4508 {
4509     return egl_single_resolver(PROVIDER_EGL_NV_system_time, 1768 /* eglGetSystemTimeFrequencyNV */);
4510 }
4511 
4512 static PFNEGLGETSYSTEMTIMENVPROC
epoxy_eglGetSystemTimeNV_resolver(void)4513 epoxy_eglGetSystemTimeNV_resolver(void)
4514 {
4515     return egl_single_resolver(PROVIDER_EGL_NV_system_time, 1796 /* eglGetSystemTimeNV */);
4516 }
4517 
4518 static PFNEGLINITIALIZEPROC
epoxy_eglInitialize_resolver(void)4519 epoxy_eglInitialize_resolver(void)
4520 {
4521     return egl_single_resolver(PROVIDER_EGL_10, 1815 /* eglInitialize */);
4522 }
4523 
4524 static PFNEGLLABELOBJECTKHRPROC
epoxy_eglLabelObjectKHR_resolver(void)4525 epoxy_eglLabelObjectKHR_resolver(void)
4526 {
4527     return egl_single_resolver(PROVIDER_EGL_KHR_debug, 1829 /* eglLabelObjectKHR */);
4528 }
4529 
4530 static PFNEGLLOCKSURFACEKHRPROC
epoxy_eglLockSurfaceKHR_resolver(void)4531 epoxy_eglLockSurfaceKHR_resolver(void)
4532 {
4533     static const enum egl_provider providers[] = {
4534         PROVIDER_EGL_KHR_lock_surface,
4535         PROVIDER_EGL_KHR_lock_surface3,
4536         egl_provider_terminator
4537     };
4538     static const uint32_t entrypoints[] = {
4539         1847 /* "eglLockSurfaceKHR" */,
4540         1847 /* "eglLockSurfaceKHR" */,
4541     };
4542     return egl_provider_resolver(entrypoint_strings + 1847 /* "eglLockSurfaceKHR" */,
4543                                 providers, entrypoints);
4544 }
4545 
4546 static PFNEGLMAKECURRENTPROC
epoxy_eglMakeCurrent_resolver(void)4547 epoxy_eglMakeCurrent_resolver(void)
4548 {
4549     return egl_single_resolver(PROVIDER_EGL_10, 1865 /* eglMakeCurrent */);
4550 }
4551 
4552 static PFNEGLOUTPUTLAYERATTRIBEXTPROC
epoxy_eglOutputLayerAttribEXT_resolver(void)4553 epoxy_eglOutputLayerAttribEXT_resolver(void)
4554 {
4555     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 1880 /* eglOutputLayerAttribEXT */);
4556 }
4557 
4558 static PFNEGLOUTPUTPORTATTRIBEXTPROC
epoxy_eglOutputPortAttribEXT_resolver(void)4559 epoxy_eglOutputPortAttribEXT_resolver(void)
4560 {
4561     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 1904 /* eglOutputPortAttribEXT */);
4562 }
4563 
4564 static PFNEGLPOSTSUBBUFFERNVPROC
epoxy_eglPostSubBufferNV_resolver(void)4565 epoxy_eglPostSubBufferNV_resolver(void)
4566 {
4567     return egl_single_resolver(PROVIDER_EGL_NV_post_sub_buffer, 1927 /* eglPostSubBufferNV */);
4568 }
4569 
4570 static PFNEGLPRESENTATIONTIMEANDROIDPROC
epoxy_eglPresentationTimeANDROID_resolver(void)4571 epoxy_eglPresentationTimeANDROID_resolver(void)
4572 {
4573     return egl_single_resolver(PROVIDER_EGL_ANDROID_presentation_time, 1946 /* eglPresentationTimeANDROID */);
4574 }
4575 
4576 static PFNEGLQUERYAPIPROC
epoxy_eglQueryAPI_resolver(void)4577 epoxy_eglQueryAPI_resolver(void)
4578 {
4579     return egl_single_resolver(PROVIDER_EGL_12, 1973 /* eglQueryAPI */);
4580 }
4581 
4582 static PFNEGLQUERYCONTEXTPROC
epoxy_eglQueryContext_resolver(void)4583 epoxy_eglQueryContext_resolver(void)
4584 {
4585     return egl_single_resolver(PROVIDER_EGL_10, 1985 /* eglQueryContext */);
4586 }
4587 
4588 static PFNEGLQUERYDEBUGKHRPROC
epoxy_eglQueryDebugKHR_resolver(void)4589 epoxy_eglQueryDebugKHR_resolver(void)
4590 {
4591     return egl_single_resolver(PROVIDER_EGL_KHR_debug, 2001 /* eglQueryDebugKHR */);
4592 }
4593 
4594 static PFNEGLQUERYDEVICEATTRIBEXTPROC
epoxy_eglQueryDeviceAttribEXT_resolver(void)4595 epoxy_eglQueryDeviceAttribEXT_resolver(void)
4596 {
4597     static const enum egl_provider providers[] = {
4598         PROVIDER_EGL_EXT_device_base,
4599         PROVIDER_EGL_EXT_device_query,
4600         egl_provider_terminator
4601     };
4602     static const uint32_t entrypoints[] = {
4603         2018 /* "eglQueryDeviceAttribEXT" */,
4604         2018 /* "eglQueryDeviceAttribEXT" */,
4605     };
4606     return egl_provider_resolver(entrypoint_strings + 2018 /* "eglQueryDeviceAttribEXT" */,
4607                                 providers, entrypoints);
4608 }
4609 
4610 static PFNEGLQUERYDEVICESTRINGEXTPROC
epoxy_eglQueryDeviceStringEXT_resolver(void)4611 epoxy_eglQueryDeviceStringEXT_resolver(void)
4612 {
4613     static const enum egl_provider providers[] = {
4614         PROVIDER_EGL_EXT_device_base,
4615         PROVIDER_EGL_EXT_device_query,
4616         egl_provider_terminator
4617     };
4618     static const uint32_t entrypoints[] = {
4619         2042 /* "eglQueryDeviceStringEXT" */,
4620         2042 /* "eglQueryDeviceStringEXT" */,
4621     };
4622     return egl_provider_resolver(entrypoint_strings + 2042 /* "eglQueryDeviceStringEXT" */,
4623                                 providers, entrypoints);
4624 }
4625 
4626 static PFNEGLQUERYDEVICESEXTPROC
epoxy_eglQueryDevicesEXT_resolver(void)4627 epoxy_eglQueryDevicesEXT_resolver(void)
4628 {
4629     static const enum egl_provider providers[] = {
4630         PROVIDER_EGL_EXT_device_base,
4631         PROVIDER_EGL_EXT_device_enumeration,
4632         egl_provider_terminator
4633     };
4634     static const uint32_t entrypoints[] = {
4635         2066 /* "eglQueryDevicesEXT" */,
4636         2066 /* "eglQueryDevicesEXT" */,
4637     };
4638     return egl_provider_resolver(entrypoint_strings + 2066 /* "eglQueryDevicesEXT" */,
4639                                 providers, entrypoints);
4640 }
4641 
4642 static PFNEGLQUERYDISPLAYATTRIBEXTPROC
epoxy_eglQueryDisplayAttribEXT_resolver(void)4643 epoxy_eglQueryDisplayAttribEXT_resolver(void)
4644 {
4645     static const enum egl_provider providers[] = {
4646         PROVIDER_EGL_EXT_device_base,
4647         PROVIDER_EGL_EXT_device_query,
4648         PROVIDER_EGL_KHR_display_reference,
4649         PROVIDER_EGL_NV_stream_metadata,
4650         egl_provider_terminator
4651     };
4652     static const uint32_t entrypoints[] = {
4653         2085 /* "eglQueryDisplayAttribEXT" */,
4654         2085 /* "eglQueryDisplayAttribEXT" */,
4655         2110 /* "eglQueryDisplayAttribKHR" */,
4656         2135 /* "eglQueryDisplayAttribNV" */,
4657     };
4658     return egl_provider_resolver(entrypoint_strings + 2085 /* "eglQueryDisplayAttribEXT" */,
4659                                 providers, entrypoints);
4660 }
4661 
4662 static PFNEGLQUERYDISPLAYATTRIBKHRPROC
epoxy_eglQueryDisplayAttribKHR_resolver(void)4663 epoxy_eglQueryDisplayAttribKHR_resolver(void)
4664 {
4665     static const enum egl_provider providers[] = {
4666         PROVIDER_EGL_KHR_display_reference,
4667         PROVIDER_EGL_EXT_device_base,
4668         PROVIDER_EGL_EXT_device_query,
4669         PROVIDER_EGL_NV_stream_metadata,
4670         egl_provider_terminator
4671     };
4672     static const uint32_t entrypoints[] = {
4673         2110 /* "eglQueryDisplayAttribKHR" */,
4674         2085 /* "eglQueryDisplayAttribEXT" */,
4675         2085 /* "eglQueryDisplayAttribEXT" */,
4676         2135 /* "eglQueryDisplayAttribNV" */,
4677     };
4678     return egl_provider_resolver(entrypoint_strings + 2110 /* "eglQueryDisplayAttribKHR" */,
4679                                 providers, entrypoints);
4680 }
4681 
4682 static PFNEGLQUERYDISPLAYATTRIBNVPROC
epoxy_eglQueryDisplayAttribNV_resolver(void)4683 epoxy_eglQueryDisplayAttribNV_resolver(void)
4684 {
4685     static const enum egl_provider providers[] = {
4686         PROVIDER_EGL_NV_stream_metadata,
4687         PROVIDER_EGL_EXT_device_base,
4688         PROVIDER_EGL_EXT_device_query,
4689         PROVIDER_EGL_KHR_display_reference,
4690         egl_provider_terminator
4691     };
4692     static const uint32_t entrypoints[] = {
4693         2135 /* "eglQueryDisplayAttribNV" */,
4694         2085 /* "eglQueryDisplayAttribEXT" */,
4695         2085 /* "eglQueryDisplayAttribEXT" */,
4696         2110 /* "eglQueryDisplayAttribKHR" */,
4697     };
4698     return egl_provider_resolver(entrypoint_strings + 2135 /* "eglQueryDisplayAttribNV" */,
4699                                 providers, entrypoints);
4700 }
4701 
4702 static PFNEGLQUERYDMABUFFORMATSEXTPROC
epoxy_eglQueryDmaBufFormatsEXT_resolver(void)4703 epoxy_eglQueryDmaBufFormatsEXT_resolver(void)
4704 {
4705     return egl_single_resolver(PROVIDER_EGL_EXT_image_dma_buf_import_modifiers, 2159 /* eglQueryDmaBufFormatsEXT */);
4706 }
4707 
4708 static PFNEGLQUERYDMABUFMODIFIERSEXTPROC
epoxy_eglQueryDmaBufModifiersEXT_resolver(void)4709 epoxy_eglQueryDmaBufModifiersEXT_resolver(void)
4710 {
4711     return egl_single_resolver(PROVIDER_EGL_EXT_image_dma_buf_import_modifiers, 2184 /* eglQueryDmaBufModifiersEXT */);
4712 }
4713 
4714 static PFNEGLQUERYNATIVEDISPLAYNVPROC
epoxy_eglQueryNativeDisplayNV_resolver(void)4715 epoxy_eglQueryNativeDisplayNV_resolver(void)
4716 {
4717     return egl_single_resolver(PROVIDER_EGL_NV_native_query, 2211 /* eglQueryNativeDisplayNV */);
4718 }
4719 
4720 static PFNEGLQUERYNATIVEPIXMAPNVPROC
epoxy_eglQueryNativePixmapNV_resolver(void)4721 epoxy_eglQueryNativePixmapNV_resolver(void)
4722 {
4723     return egl_single_resolver(PROVIDER_EGL_NV_native_query, 2235 /* eglQueryNativePixmapNV */);
4724 }
4725 
4726 static PFNEGLQUERYNATIVEWINDOWNVPROC
epoxy_eglQueryNativeWindowNV_resolver(void)4727 epoxy_eglQueryNativeWindowNV_resolver(void)
4728 {
4729     return egl_single_resolver(PROVIDER_EGL_NV_native_query, 2258 /* eglQueryNativeWindowNV */);
4730 }
4731 
4732 static PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC
epoxy_eglQueryOutputLayerAttribEXT_resolver(void)4733 epoxy_eglQueryOutputLayerAttribEXT_resolver(void)
4734 {
4735     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 2281 /* eglQueryOutputLayerAttribEXT */);
4736 }
4737 
4738 static PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC
epoxy_eglQueryOutputLayerStringEXT_resolver(void)4739 epoxy_eglQueryOutputLayerStringEXT_resolver(void)
4740 {
4741     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 2310 /* eglQueryOutputLayerStringEXT */);
4742 }
4743 
4744 static PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC
epoxy_eglQueryOutputPortAttribEXT_resolver(void)4745 epoxy_eglQueryOutputPortAttribEXT_resolver(void)
4746 {
4747     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 2339 /* eglQueryOutputPortAttribEXT */);
4748 }
4749 
4750 static PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC
epoxy_eglQueryOutputPortStringEXT_resolver(void)4751 epoxy_eglQueryOutputPortStringEXT_resolver(void)
4752 {
4753     return egl_single_resolver(PROVIDER_EGL_EXT_output_base, 2367 /* eglQueryOutputPortStringEXT */);
4754 }
4755 
4756 static PFNEGLQUERYSTREAMATTRIBKHRPROC
epoxy_eglQueryStreamAttribKHR_resolver(void)4757 epoxy_eglQueryStreamAttribKHR_resolver(void)
4758 {
4759     return egl_single_resolver(PROVIDER_EGL_KHR_stream_attrib, 2395 /* eglQueryStreamAttribKHR */);
4760 }
4761 
4762 static PFNEGLQUERYSTREAMKHRPROC
epoxy_eglQueryStreamKHR_resolver(void)4763 epoxy_eglQueryStreamKHR_resolver(void)
4764 {
4765     return egl_single_resolver(PROVIDER_EGL_KHR_stream, 2419 /* eglQueryStreamKHR */);
4766 }
4767 
4768 static PFNEGLQUERYSTREAMMETADATANVPROC
epoxy_eglQueryStreamMetadataNV_resolver(void)4769 epoxy_eglQueryStreamMetadataNV_resolver(void)
4770 {
4771     return egl_single_resolver(PROVIDER_EGL_NV_stream_metadata, 2437 /* eglQueryStreamMetadataNV */);
4772 }
4773 
4774 static PFNEGLQUERYSTREAMTIMEKHRPROC
epoxy_eglQueryStreamTimeKHR_resolver(void)4775 epoxy_eglQueryStreamTimeKHR_resolver(void)
4776 {
4777     return egl_single_resolver(PROVIDER_EGL_KHR_stream_fifo, 2462 /* eglQueryStreamTimeKHR */);
4778 }
4779 
4780 static PFNEGLQUERYSTREAMU64KHRPROC
epoxy_eglQueryStreamu64KHR_resolver(void)4781 epoxy_eglQueryStreamu64KHR_resolver(void)
4782 {
4783     return egl_single_resolver(PROVIDER_EGL_KHR_stream, 2484 /* eglQueryStreamu64KHR */);
4784 }
4785 
4786 static PFNEGLQUERYSTRINGPROC
epoxy_eglQueryString_resolver(void)4787 epoxy_eglQueryString_resolver(void)
4788 {
4789     return egl_single_resolver(PROVIDER_EGL_10, 2505 /* eglQueryString */);
4790 }
4791 
4792 static PFNEGLQUERYSURFACEPROC
epoxy_eglQuerySurface_resolver(void)4793 epoxy_eglQuerySurface_resolver(void)
4794 {
4795     return egl_single_resolver(PROVIDER_EGL_10, 2520 /* eglQuerySurface */);
4796 }
4797 
4798 static PFNEGLQUERYSURFACE64KHRPROC
epoxy_eglQuerySurface64KHR_resolver(void)4799 epoxy_eglQuerySurface64KHR_resolver(void)
4800 {
4801     return egl_single_resolver(PROVIDER_EGL_KHR_lock_surface3, 2536 /* eglQuerySurface64KHR */);
4802 }
4803 
4804 static PFNEGLQUERYSURFACEPOINTERANGLEPROC
epoxy_eglQuerySurfacePointerANGLE_resolver(void)4805 epoxy_eglQuerySurfacePointerANGLE_resolver(void)
4806 {
4807     return egl_single_resolver(PROVIDER_EGL_ANGLE_query_surface_pointer, 2557 /* eglQuerySurfacePointerANGLE */);
4808 }
4809 
4810 static PFNEGLRELEASETEXIMAGEPROC
epoxy_eglReleaseTexImage_resolver(void)4811 epoxy_eglReleaseTexImage_resolver(void)
4812 {
4813     return egl_single_resolver(PROVIDER_EGL_11, 2585 /* eglReleaseTexImage */);
4814 }
4815 
4816 static PFNEGLRELEASETHREADPROC
epoxy_eglReleaseThread_resolver(void)4817 epoxy_eglReleaseThread_resolver(void)
4818 {
4819     return egl_single_resolver(PROVIDER_EGL_12, 2604 /* eglReleaseThread */);
4820 }
4821 
4822 static PFNEGLRESETSTREAMNVPROC
epoxy_eglResetStreamNV_resolver(void)4823 epoxy_eglResetStreamNV_resolver(void)
4824 {
4825     return egl_single_resolver(PROVIDER_EGL_NV_stream_reset, 2621 /* eglResetStreamNV */);
4826 }
4827 
4828 static PFNEGLSETBLOBCACHEFUNCSANDROIDPROC
epoxy_eglSetBlobCacheFuncsANDROID_resolver(void)4829 epoxy_eglSetBlobCacheFuncsANDROID_resolver(void)
4830 {
4831     return egl_single_resolver(PROVIDER_EGL_ANDROID_blob_cache, 2638 /* eglSetBlobCacheFuncsANDROID */);
4832 }
4833 
4834 static PFNEGLSETDAMAGEREGIONKHRPROC
epoxy_eglSetDamageRegionKHR_resolver(void)4835 epoxy_eglSetDamageRegionKHR_resolver(void)
4836 {
4837     return egl_single_resolver(PROVIDER_EGL_KHR_partial_update, 2666 /* eglSetDamageRegionKHR */);
4838 }
4839 
4840 static PFNEGLSETSTREAMATTRIBKHRPROC
epoxy_eglSetStreamAttribKHR_resolver(void)4841 epoxy_eglSetStreamAttribKHR_resolver(void)
4842 {
4843     return egl_single_resolver(PROVIDER_EGL_KHR_stream_attrib, 2688 /* eglSetStreamAttribKHR */);
4844 }
4845 
4846 static PFNEGLSETSTREAMMETADATANVPROC
epoxy_eglSetStreamMetadataNV_resolver(void)4847 epoxy_eglSetStreamMetadataNV_resolver(void)
4848 {
4849     return egl_single_resolver(PROVIDER_EGL_NV_stream_metadata, 2710 /* eglSetStreamMetadataNV */);
4850 }
4851 
4852 static PFNEGLSIGNALSYNCKHRPROC
epoxy_eglSignalSyncKHR_resolver(void)4853 epoxy_eglSignalSyncKHR_resolver(void)
4854 {
4855     return egl_single_resolver(PROVIDER_EGL_KHR_reusable_sync, 2733 /* eglSignalSyncKHR */);
4856 }
4857 
4858 static PFNEGLSIGNALSYNCNVPROC
epoxy_eglSignalSyncNV_resolver(void)4859 epoxy_eglSignalSyncNV_resolver(void)
4860 {
4861     return egl_single_resolver(PROVIDER_EGL_NV_sync, 2750 /* eglSignalSyncNV */);
4862 }
4863 
4864 static PFNEGLSTREAMATTRIBKHRPROC
epoxy_eglStreamAttribKHR_resolver(void)4865 epoxy_eglStreamAttribKHR_resolver(void)
4866 {
4867     return egl_single_resolver(PROVIDER_EGL_KHR_stream, 2766 /* eglStreamAttribKHR */);
4868 }
4869 
4870 static PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC
epoxy_eglStreamConsumerAcquireAttribKHR_resolver(void)4871 epoxy_eglStreamConsumerAcquireAttribKHR_resolver(void)
4872 {
4873     return egl_single_resolver(PROVIDER_EGL_KHR_stream_attrib, 2785 /* eglStreamConsumerAcquireAttribKHR */);
4874 }
4875 
4876 static PFNEGLSTREAMCONSUMERACQUIREKHRPROC
epoxy_eglStreamConsumerAcquireKHR_resolver(void)4877 epoxy_eglStreamConsumerAcquireKHR_resolver(void)
4878 {
4879     return egl_single_resolver(PROVIDER_EGL_KHR_stream_consumer_gltexture, 2819 /* eglStreamConsumerAcquireKHR */);
4880 }
4881 
4882 static PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
epoxy_eglStreamConsumerGLTextureExternalAttribsNV_resolver(void)4883 epoxy_eglStreamConsumerGLTextureExternalAttribsNV_resolver(void)
4884 {
4885     return egl_single_resolver(PROVIDER_EGL_NV_stream_consumer_gltexture_yuv, 2847 /* eglStreamConsumerGLTextureExternalAttribsNV */);
4886 }
4887 
4888 static PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
epoxy_eglStreamConsumerGLTextureExternalKHR_resolver(void)4889 epoxy_eglStreamConsumerGLTextureExternalKHR_resolver(void)
4890 {
4891     return egl_single_resolver(PROVIDER_EGL_KHR_stream_consumer_gltexture, 2891 /* eglStreamConsumerGLTextureExternalKHR */);
4892 }
4893 
4894 static PFNEGLSTREAMCONSUMEROUTPUTEXTPROC
epoxy_eglStreamConsumerOutputEXT_resolver(void)4895 epoxy_eglStreamConsumerOutputEXT_resolver(void)
4896 {
4897     return egl_single_resolver(PROVIDER_EGL_EXT_stream_consumer_egloutput, 2929 /* eglStreamConsumerOutputEXT */);
4898 }
4899 
4900 static PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC
epoxy_eglStreamConsumerReleaseAttribKHR_resolver(void)4901 epoxy_eglStreamConsumerReleaseAttribKHR_resolver(void)
4902 {
4903     return egl_single_resolver(PROVIDER_EGL_KHR_stream_attrib, 2956 /* eglStreamConsumerReleaseAttribKHR */);
4904 }
4905 
4906 static PFNEGLSTREAMCONSUMERRELEASEKHRPROC
epoxy_eglStreamConsumerReleaseKHR_resolver(void)4907 epoxy_eglStreamConsumerReleaseKHR_resolver(void)
4908 {
4909     return egl_single_resolver(PROVIDER_EGL_KHR_stream_consumer_gltexture, 2990 /* eglStreamConsumerReleaseKHR */);
4910 }
4911 
4912 static PFNEGLSTREAMFLUSHNVPROC
epoxy_eglStreamFlushNV_resolver(void)4913 epoxy_eglStreamFlushNV_resolver(void)
4914 {
4915     return egl_single_resolver(PROVIDER_EGL_NV_stream_flush, 3018 /* eglStreamFlushNV */);
4916 }
4917 
4918 static PFNEGLSURFACEATTRIBPROC
epoxy_eglSurfaceAttrib_resolver(void)4919 epoxy_eglSurfaceAttrib_resolver(void)
4920 {
4921     return egl_single_resolver(PROVIDER_EGL_11, 3035 /* eglSurfaceAttrib */);
4922 }
4923 
4924 static PFNEGLSWAPBUFFERSPROC
epoxy_eglSwapBuffers_resolver(void)4925 epoxy_eglSwapBuffers_resolver(void)
4926 {
4927     return egl_single_resolver(PROVIDER_EGL_10, 3052 /* eglSwapBuffers */);
4928 }
4929 
4930 static PFNEGLSWAPBUFFERSREGION2NOKPROC
epoxy_eglSwapBuffersRegion2NOK_resolver(void)4931 epoxy_eglSwapBuffersRegion2NOK_resolver(void)
4932 {
4933     return egl_single_resolver(PROVIDER_EGL_NOK_swap_region2, 3067 /* eglSwapBuffersRegion2NOK */);
4934 }
4935 
4936 static PFNEGLSWAPBUFFERSREGIONNOKPROC
epoxy_eglSwapBuffersRegionNOK_resolver(void)4937 epoxy_eglSwapBuffersRegionNOK_resolver(void)
4938 {
4939     return egl_single_resolver(PROVIDER_EGL_NOK_swap_region, 3092 /* eglSwapBuffersRegionNOK */);
4940 }
4941 
4942 static PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC
epoxy_eglSwapBuffersWithDamageEXT_resolver(void)4943 epoxy_eglSwapBuffersWithDamageEXT_resolver(void)
4944 {
4945     return egl_single_resolver(PROVIDER_EGL_EXT_swap_buffers_with_damage, 3116 /* eglSwapBuffersWithDamageEXT */);
4946 }
4947 
4948 static PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC
epoxy_eglSwapBuffersWithDamageKHR_resolver(void)4949 epoxy_eglSwapBuffersWithDamageKHR_resolver(void)
4950 {
4951     return egl_single_resolver(PROVIDER_EGL_KHR_swap_buffers_with_damage, 3144 /* eglSwapBuffersWithDamageKHR */);
4952 }
4953 
4954 static PFNEGLSWAPINTERVALPROC
epoxy_eglSwapInterval_resolver(void)4955 epoxy_eglSwapInterval_resolver(void)
4956 {
4957     return egl_single_resolver(PROVIDER_EGL_11, 3172 /* eglSwapInterval */);
4958 }
4959 
4960 static PFNEGLTERMINATEPROC
epoxy_eglTerminate_resolver(void)4961 epoxy_eglTerminate_resolver(void)
4962 {
4963     return egl_single_resolver(PROVIDER_EGL_10, 3188 /* eglTerminate */);
4964 }
4965 
4966 static PFNEGLUNLOCKSURFACEKHRPROC
epoxy_eglUnlockSurfaceKHR_resolver(void)4967 epoxy_eglUnlockSurfaceKHR_resolver(void)
4968 {
4969     static const enum egl_provider providers[] = {
4970         PROVIDER_EGL_KHR_lock_surface,
4971         PROVIDER_EGL_KHR_lock_surface3,
4972         egl_provider_terminator
4973     };
4974     static const uint32_t entrypoints[] = {
4975         3201 /* "eglUnlockSurfaceKHR" */,
4976         3201 /* "eglUnlockSurfaceKHR" */,
4977     };
4978     return egl_provider_resolver(entrypoint_strings + 3201 /* "eglUnlockSurfaceKHR" */,
4979                                 providers, entrypoints);
4980 }
4981 
4982 static PFNEGLUNSIGNALSYNCEXTPROC
epoxy_eglUnsignalSyncEXT_resolver(void)4983 epoxy_eglUnsignalSyncEXT_resolver(void)
4984 {
4985     return egl_single_resolver(PROVIDER_EGL_EXT_sync_reuse, 3221 /* eglUnsignalSyncEXT */);
4986 }
4987 
4988 static PFNEGLWAITCLIENTPROC
epoxy_eglWaitClient_resolver(void)4989 epoxy_eglWaitClient_resolver(void)
4990 {
4991     return egl_single_resolver(PROVIDER_EGL_12, 3240 /* eglWaitClient */);
4992 }
4993 
4994 static PFNEGLWAITGLPROC
epoxy_eglWaitGL_resolver(void)4995 epoxy_eglWaitGL_resolver(void)
4996 {
4997     return egl_single_resolver(PROVIDER_EGL_10, 3254 /* eglWaitGL */);
4998 }
4999 
5000 static PFNEGLWAITNATIVEPROC
epoxy_eglWaitNative_resolver(void)5001 epoxy_eglWaitNative_resolver(void)
5002 {
5003     return egl_single_resolver(PROVIDER_EGL_10, 3264 /* eglWaitNative */);
5004 }
5005 
5006 static PFNEGLWAITSYNCPROC
epoxy_eglWaitSync_resolver(void)5007 epoxy_eglWaitSync_resolver(void)
5008 {
5009     return egl_single_resolver(PROVIDER_EGL_15, 3278 /* eglWaitSync */);
5010 }
5011 
5012 static PFNEGLWAITSYNCKHRPROC
epoxy_eglWaitSyncKHR_resolver(void)5013 epoxy_eglWaitSyncKHR_resolver(void)
5014 {
5015     return egl_single_resolver(PROVIDER_EGL_KHR_wait_sync, 3290 /* eglWaitSyncKHR */);
5016 }
5017 
5018 GEN_THUNKS_RET(EGLBoolean, eglBindAPI, (EGLenum api), (api))
5019 GEN_THUNKS_RET(EGLBoolean, eglBindTexImage, (EGLDisplay dpy, EGLSurface surface, EGLint buffer), (dpy, surface, buffer))
5020 GEN_THUNKS_RET(EGLBoolean, eglChooseConfig, (EGLDisplay dpy, const EGLint * attrib_list, EGLConfig * configs, EGLint config_size, EGLint * num_config), (dpy, attrib_list, configs, config_size, num_config))
5021 GEN_THUNKS_RET(EGLBoolean, eglClientSignalSyncEXT, (EGLDisplay dpy, EGLSync sync, const EGLAttrib * attrib_list), (dpy, sync, attrib_list))
5022 GEN_THUNKS_RET(EGLint, eglClientWaitSync, (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout), (dpy, sync, flags, timeout))
5023 GEN_THUNKS_RET(EGLint, eglClientWaitSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout), (dpy, sync, flags, timeout))
5024 GEN_THUNKS_RET(EGLint, eglClientWaitSyncNV, (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout), (sync, flags, timeout))
5025 GEN_THUNKS_RET(EGLBoolean, eglCompositorBindTexWindowEXT, (EGLint external_win_id), (external_win_id))
5026 GEN_THUNKS_RET(EGLBoolean, eglCompositorSetContextAttributesEXT, (EGLint external_ref_id, const EGLint * context_attributes, EGLint num_entries), (external_ref_id, context_attributes, num_entries))
5027 GEN_THUNKS_RET(EGLBoolean, eglCompositorSetContextListEXT, (const EGLint * external_ref_ids, EGLint num_entries), (external_ref_ids, num_entries))
5028 GEN_THUNKS_RET(EGLBoolean, eglCompositorSetSizeEXT, (EGLint external_win_id, EGLint width, EGLint height), (external_win_id, width, height))
5029 GEN_THUNKS_RET(EGLBoolean, eglCompositorSetWindowAttributesEXT, (EGLint external_win_id, const EGLint * window_attributes, EGLint num_entries), (external_win_id, window_attributes, num_entries))
5030 GEN_THUNKS_RET(EGLBoolean, eglCompositorSetWindowListEXT, (EGLint external_ref_id, const EGLint * external_win_ids, EGLint num_entries), (external_ref_id, external_win_ids, num_entries))
5031 GEN_THUNKS_RET(EGLBoolean, eglCompositorSwapPolicyEXT, (EGLint external_win_id, EGLint policy), (external_win_id, policy))
5032 GEN_THUNKS_RET(EGLBoolean, eglCopyBuffers, (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target), (dpy, surface, target))
5033 GEN_THUNKS_RET(EGLContext, eglCreateContext, (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list), (dpy, config, share_context, attrib_list))
5034 GEN_THUNKS_RET(EGLImageKHR, eglCreateDRMImageMESA, (EGLDisplay dpy, const EGLint * attrib_list), (dpy, attrib_list))
5035 GEN_THUNKS_RET(EGLSyncNV, eglCreateFenceSyncNV, (EGLDisplay dpy, EGLenum condition, const EGLint * attrib_list), (dpy, condition, attrib_list))
5036 GEN_THUNKS_RET(EGLImage, eglCreateImage, (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list), (dpy, ctx, target, buffer, attrib_list))
5037 GEN_THUNKS_RET(EGLImageKHR, eglCreateImageKHR, (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list), (dpy, ctx, target, buffer, attrib_list))
5038 GEN_THUNKS_RET(EGLClientBuffer, eglCreateNativeClientBufferANDROID, (const EGLint * attrib_list), (attrib_list))
5039 GEN_THUNKS_RET(EGLSurface, eglCreatePbufferFromClientBuffer, (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list), (dpy, buftype, buffer, config, attrib_list))
5040 GEN_THUNKS_RET(EGLSurface, eglCreatePbufferSurface, (EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list), (dpy, config, attrib_list))
5041 GEN_THUNKS_RET(EGLSurface, eglCreatePixmapSurface, (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list), (dpy, config, pixmap, attrib_list))
5042 GEN_THUNKS_RET(EGLSurface, eglCreatePixmapSurfaceHI, (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI * pixmap), (dpy, config, pixmap))
5043 GEN_THUNKS_RET(EGLSurface, eglCreatePlatformPixmapSurface, (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list), (dpy, config, native_pixmap, attrib_list))
5044 GEN_THUNKS_RET(EGLSurface, eglCreatePlatformPixmapSurfaceEXT, (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLint * attrib_list), (dpy, config, native_pixmap, attrib_list))
5045 GEN_THUNKS_RET(EGLSurface, eglCreatePlatformWindowSurface, (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list), (dpy, config, native_window, attrib_list))
5046 GEN_THUNKS_RET(EGLSurface, eglCreatePlatformWindowSurfaceEXT, (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLint * attrib_list), (dpy, config, native_window, attrib_list))
5047 GEN_THUNKS_RET(EGLStreamKHR, eglCreateStreamAttribKHR, (EGLDisplay dpy, const EGLAttrib * attrib_list), (dpy, attrib_list))
5048 GEN_THUNKS_RET(EGLStreamKHR, eglCreateStreamFromFileDescriptorKHR, (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor), (dpy, file_descriptor))
5049 GEN_THUNKS_RET(EGLStreamKHR, eglCreateStreamKHR, (EGLDisplay dpy, const EGLint * attrib_list), (dpy, attrib_list))
5050 GEN_THUNKS_RET(EGLSurface, eglCreateStreamProducerSurfaceKHR, (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint * attrib_list), (dpy, config, stream, attrib_list))
5051 GEN_THUNKS_RET(EGLSyncKHR, eglCreateStreamSyncNV, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint * attrib_list), (dpy, stream, type, attrib_list))
5052 GEN_THUNKS_RET(EGLSync, eglCreateSync, (EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list), (dpy, type, attrib_list))
5053 GEN_THUNKS_RET(EGLSyncKHR, eglCreateSync64KHR, (EGLDisplay dpy, EGLenum type, const EGLAttribKHR * attrib_list), (dpy, type, attrib_list))
5054 GEN_THUNKS_RET(EGLSyncKHR, eglCreateSyncKHR, (EGLDisplay dpy, EGLenum type, const EGLint * attrib_list), (dpy, type, attrib_list))
5055 GEN_THUNKS_RET(EGLSurface, eglCreateWindowSurface, (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list), (dpy, config, win, attrib_list))
5056 GEN_THUNKS_RET(EGLint, eglDebugMessageControlKHR, (EGLDEBUGPROCKHR callback, const EGLAttrib * attrib_list), (callback, attrib_list))
5057 GEN_THUNKS_RET(EGLBoolean, eglDestroyContext, (EGLDisplay dpy, EGLContext ctx), (dpy, ctx))
5058 GEN_THUNKS_RET(EGLBoolean, eglDestroyImage, (EGLDisplay dpy, EGLImage image), (dpy, image))
5059 GEN_THUNKS_RET(EGLBoolean, eglDestroyImageKHR, (EGLDisplay dpy, EGLImageKHR image), (dpy, image))
5060 GEN_THUNKS_RET(EGLBoolean, eglDestroyStreamKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5061 GEN_THUNKS_RET(EGLBoolean, eglDestroySurface, (EGLDisplay dpy, EGLSurface surface), (dpy, surface))
5062 GEN_THUNKS_RET(EGLBoolean, eglDestroySync, (EGLDisplay dpy, EGLSync sync), (dpy, sync))
5063 GEN_THUNKS_RET(EGLBoolean, eglDestroySyncKHR, (EGLDisplay dpy, EGLSyncKHR sync), (dpy, sync))
5064 GEN_THUNKS_RET(EGLBoolean, eglDestroySyncNV, (EGLSyncNV sync), (sync))
5065 GEN_THUNKS_RET(EGLint, eglDupNativeFenceFDANDROID, (EGLDisplay dpy, EGLSyncKHR sync), (dpy, sync))
5066 GEN_THUNKS_RET(EGLBoolean, eglExportDMABUFImageMESA, (EGLDisplay dpy, EGLImageKHR image, int * fds, EGLint * strides, EGLint * offsets), (dpy, image, fds, strides, offsets))
5067 GEN_THUNKS_RET(EGLBoolean, eglExportDMABUFImageQueryMESA, (EGLDisplay dpy, EGLImageKHR image, int * fourcc, int * num_planes, EGLuint64KHR * modifiers), (dpy, image, fourcc, num_planes, modifiers))
5068 GEN_THUNKS_RET(EGLBoolean, eglExportDRMImageMESA, (EGLDisplay dpy, EGLImageKHR image, EGLint * name, EGLint * handle, EGLint * stride), (dpy, image, name, handle, stride))
5069 GEN_THUNKS_RET(EGLBoolean, eglFenceNV, (EGLSyncNV sync), (sync))
5070 GEN_THUNKS_RET(EGLBoolean, eglGetCompositorTimingANDROID, (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint * names, EGLnsecsANDROID * values), (dpy, surface, numTimestamps, names, values))
5071 GEN_THUNKS_RET(EGLBoolean, eglGetCompositorTimingSupportedANDROID, (EGLDisplay dpy, EGLSurface surface, EGLint name), (dpy, surface, name))
5072 GEN_THUNKS_RET(EGLBoolean, eglGetConfigAttrib, (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value), (dpy, config, attribute, value))
5073 GEN_THUNKS_RET(EGLBoolean, eglGetConfigs, (EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config), (dpy, configs, config_size, num_config))
5074 GEN_THUNKS_RET(EGLContext, eglGetCurrentContext, (void), ())
5075 GEN_THUNKS_RET(EGLDisplay, eglGetCurrentDisplay, (void), ())
5076 GEN_THUNKS_RET(EGLSurface, eglGetCurrentSurface, (EGLint readdraw), (readdraw))
5077 GEN_THUNKS_RET(EGLDisplay, eglGetDisplay, (EGLNativeDisplayType display_id), (display_id))
5078 GEN_THUNKS_RET(char *, eglGetDisplayDriverConfig, (EGLDisplay dpy), (dpy))
5079 GEN_THUNKS_RET(const char *, eglGetDisplayDriverName, (EGLDisplay dpy), (dpy))
5080 GEN_THUNKS_RET(EGLint, eglGetError, (void), ())
5081 GEN_THUNKS_RET(EGLBoolean, eglGetFrameTimestampSupportedANDROID, (EGLDisplay dpy, EGLSurface surface, EGLint timestamp), (dpy, surface, timestamp))
5082 GEN_THUNKS_RET(EGLBoolean, eglGetFrameTimestampsANDROID, (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint * timestamps, EGLnsecsANDROID * values), (dpy, surface, frameId, numTimestamps, timestamps, values))
5083 GEN_THUNKS_RET(EGLClientBuffer, eglGetNativeClientBufferANDROID, (const struct AHardwareBuffer * buffer), (buffer))
5084 GEN_THUNKS_RET(EGLBoolean, eglGetNextFrameIdANDROID, (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR * frameId), (dpy, surface, frameId))
5085 GEN_THUNKS_RET(EGLBoolean, eglGetOutputLayersEXT, (EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputLayerEXT * layers, EGLint max_layers, EGLint * num_layers), (dpy, attrib_list, layers, max_layers, num_layers))
5086 GEN_THUNKS_RET(EGLBoolean, eglGetOutputPortsEXT, (EGLDisplay dpy, const EGLAttrib * attrib_list, EGLOutputPortEXT * ports, EGLint max_ports, EGLint * num_ports), (dpy, attrib_list, ports, max_ports, num_ports))
5087 GEN_THUNKS_RET(EGLDisplay, eglGetPlatformDisplay, (EGLenum platform, void * native_display, const EGLAttrib * attrib_list), (platform, native_display, attrib_list))
5088 GEN_THUNKS_RET(EGLDisplay, eglGetPlatformDisplayEXT, (EGLenum platform, void * native_display, const EGLint * attrib_list), (platform, native_display, attrib_list))
5089 GEN_THUNKS_RET(__eglMustCastToProperFunctionPointerType, eglGetProcAddress, (const char * procname), (procname))
5090 GEN_THUNKS_RET(EGLNativeFileDescriptorKHR, eglGetStreamFileDescriptorKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5091 GEN_THUNKS_RET(EGLBoolean, eglGetSyncAttrib, (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value), (dpy, sync, attribute, value))
5092 GEN_THUNKS_RET(EGLBoolean, eglGetSyncAttribKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value), (dpy, sync, attribute, value))
5093 GEN_THUNKS_RET(EGLBoolean, eglGetSyncAttribNV, (EGLSyncNV sync, EGLint attribute, EGLint * value), (sync, attribute, value))
5094 GEN_THUNKS_RET(EGLuint64NV, eglGetSystemTimeFrequencyNV, (void), ())
5095 GEN_THUNKS_RET(EGLuint64NV, eglGetSystemTimeNV, (void), ())
5096 GEN_THUNKS_RET(EGLBoolean, eglInitialize, (EGLDisplay dpy, EGLint * major, EGLint * minor), (dpy, major, minor))
5097 GEN_THUNKS_RET(EGLint, eglLabelObjectKHR, (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label), (display, objectType, object, label))
5098 GEN_THUNKS_RET(EGLBoolean, eglLockSurfaceKHR, (EGLDisplay dpy, EGLSurface surface, const EGLint * attrib_list), (dpy, surface, attrib_list))
5099 GEN_THUNKS_RET(EGLBoolean, eglMakeCurrent, (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx), (dpy, draw, read, ctx))
5100 GEN_THUNKS_RET(EGLBoolean, eglOutputLayerAttribEXT, (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value), (dpy, layer, attribute, value))
5101 GEN_THUNKS_RET(EGLBoolean, eglOutputPortAttribEXT, (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value), (dpy, port, attribute, value))
5102 GEN_THUNKS_RET(EGLBoolean, eglPostSubBufferNV, (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height), (dpy, surface, x, y, width, height))
5103 GEN_THUNKS_RET(EGLBoolean, eglPresentationTimeANDROID, (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time), (dpy, surface, time))
5104 GEN_THUNKS_RET(EGLenum, eglQueryAPI, (void), ())
5105 GEN_THUNKS_RET(EGLBoolean, eglQueryContext, (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value), (dpy, ctx, attribute, value))
5106 GEN_THUNKS_RET(EGLBoolean, eglQueryDebugKHR, (EGLint attribute, EGLAttrib * value), (attribute, value))
5107 GEN_THUNKS_RET(EGLBoolean, eglQueryDeviceAttribEXT, (EGLDeviceEXT device, EGLint attribute, EGLAttrib * value), (device, attribute, value))
5108 GEN_THUNKS_RET(const char *, eglQueryDeviceStringEXT, (EGLDeviceEXT device, EGLint name), (device, name))
5109 GEN_THUNKS_RET(EGLBoolean, eglQueryDevicesEXT, (EGLint max_devices, EGLDeviceEXT * devices, EGLint * num_devices), (max_devices, devices, num_devices))
5110 GEN_THUNKS_RET(EGLBoolean, eglQueryDisplayAttribEXT, (EGLDisplay dpy, EGLint attribute, EGLAttrib * value), (dpy, attribute, value))
5111 GEN_THUNKS_RET(EGLBoolean, eglQueryDisplayAttribKHR, (EGLDisplay dpy, EGLint name, EGLAttrib * value), (dpy, name, value))
5112 GEN_THUNKS_RET(EGLBoolean, eglQueryDisplayAttribNV, (EGLDisplay dpy, EGLint attribute, EGLAttrib * value), (dpy, attribute, value))
5113 GEN_THUNKS_RET(EGLBoolean, eglQueryDmaBufFormatsEXT, (EGLDisplay dpy, EGLint max_formats, EGLint * formats, EGLint * num_formats), (dpy, max_formats, formats, num_formats))
5114 GEN_THUNKS_RET(EGLBoolean, eglQueryDmaBufModifiersEXT, (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR * modifiers, EGLBoolean * external_only, EGLint * num_modifiers), (dpy, format, max_modifiers, modifiers, external_only, num_modifiers))
5115 GEN_THUNKS_RET(EGLBoolean, eglQueryNativeDisplayNV, (EGLDisplay dpy, EGLNativeDisplayType * display_id), (dpy, display_id))
5116 GEN_THUNKS_RET(EGLBoolean, eglQueryNativePixmapNV, (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType * pixmap), (dpy, surf, pixmap))
5117 GEN_THUNKS_RET(EGLBoolean, eglQueryNativeWindowNV, (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType * window), (dpy, surf, window))
5118 GEN_THUNKS_RET(EGLBoolean, eglQueryOutputLayerAttribEXT, (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib * value), (dpy, layer, attribute, value))
5119 GEN_THUNKS_RET(const char *, eglQueryOutputLayerStringEXT, (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name), (dpy, layer, name))
5120 GEN_THUNKS_RET(EGLBoolean, eglQueryOutputPortAttribEXT, (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib * value), (dpy, port, attribute, value))
5121 GEN_THUNKS_RET(const char *, eglQueryOutputPortStringEXT, (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name), (dpy, port, name))
5122 GEN_THUNKS_RET(EGLBoolean, eglQueryStreamAttribKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib * value), (dpy, stream, attribute, value))
5123 GEN_THUNKS_RET(EGLBoolean, eglQueryStreamKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint * value), (dpy, stream, attribute, value))
5124 GEN_THUNKS_RET(EGLBoolean, eglQueryStreamMetadataNV, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void * data), (dpy, stream, name, n, offset, size, data))
5125 GEN_THUNKS_RET(EGLBoolean, eglQueryStreamTimeKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR * value), (dpy, stream, attribute, value))
5126 GEN_THUNKS_RET(EGLBoolean, eglQueryStreamu64KHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR * value), (dpy, stream, attribute, value))
5127 GEN_THUNKS_RET(const char *, eglQueryString, (EGLDisplay dpy, EGLint name), (dpy, name))
5128 GEN_THUNKS_RET(EGLBoolean, eglQuerySurface, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value), (dpy, surface, attribute, value))
5129 GEN_THUNKS_RET(EGLBoolean, eglQuerySurface64KHR, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value), (dpy, surface, attribute, value))
5130 GEN_THUNKS_RET(EGLBoolean, eglQuerySurfacePointerANGLE, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void ** value), (dpy, surface, attribute, value))
5131 GEN_THUNKS_RET(EGLBoolean, eglReleaseTexImage, (EGLDisplay dpy, EGLSurface surface, EGLint buffer), (dpy, surface, buffer))
5132 GEN_THUNKS_RET(EGLBoolean, eglReleaseThread, (void), ())
5133 GEN_THUNKS_RET(EGLBoolean, eglResetStreamNV, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5134 GEN_THUNKS(eglSetBlobCacheFuncsANDROID, (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get), (dpy, set, get))
5135 GEN_THUNKS_RET(EGLBoolean, eglSetDamageRegionKHR, (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects), (dpy, surface, rects, n_rects))
5136 GEN_THUNKS_RET(EGLBoolean, eglSetStreamAttribKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value), (dpy, stream, attribute, value))
5137 GEN_THUNKS_RET(EGLBoolean, eglSetStreamMetadataNV, (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void * data), (dpy, stream, n, offset, size, data))
5138 GEN_THUNKS_RET(EGLBoolean, eglSignalSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode), (dpy, sync, mode))
5139 GEN_THUNKS_RET(EGLBoolean, eglSignalSyncNV, (EGLSyncNV sync, EGLenum mode), (sync, mode))
5140 GEN_THUNKS_RET(EGLBoolean, eglStreamAttribKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value), (dpy, stream, attribute, value))
5141 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerAcquireAttribKHR, (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list), (dpy, stream, attrib_list))
5142 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerAcquireKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5143 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerGLTextureExternalAttribsNV, (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list), (dpy, stream, attrib_list))
5144 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerGLTextureExternalKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5145 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerOutputEXT, (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer), (dpy, stream, layer))
5146 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerReleaseAttribKHR, (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib * attrib_list), (dpy, stream, attrib_list))
5147 GEN_THUNKS_RET(EGLBoolean, eglStreamConsumerReleaseKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5148 GEN_THUNKS_RET(EGLBoolean, eglStreamFlushNV, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
5149 GEN_THUNKS_RET(EGLBoolean, eglSurfaceAttrib, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value), (dpy, surface, attribute, value))
5150 GEN_THUNKS_RET(EGLBoolean, eglSwapBuffers, (EGLDisplay dpy, EGLSurface surface), (dpy, surface))
5151 GEN_THUNKS_RET(EGLBoolean, eglSwapBuffersRegion2NOK, (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects), (dpy, surface, numRects, rects))
5152 GEN_THUNKS_RET(EGLBoolean, eglSwapBuffersRegionNOK, (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects), (dpy, surface, numRects, rects))
5153 GEN_THUNKS_RET(EGLBoolean, eglSwapBuffersWithDamageEXT, (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects), (dpy, surface, rects, n_rects))
5154 GEN_THUNKS_RET(EGLBoolean, eglSwapBuffersWithDamageKHR, (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects), (dpy, surface, rects, n_rects))
5155 GEN_THUNKS_RET(EGLBoolean, eglSwapInterval, (EGLDisplay dpy, EGLint interval), (dpy, interval))
5156 GEN_THUNKS_RET(EGLBoolean, eglTerminate, (EGLDisplay dpy), (dpy))
5157 GEN_THUNKS_RET(EGLBoolean, eglUnlockSurfaceKHR, (EGLDisplay dpy, EGLSurface surface), (dpy, surface))
5158 GEN_THUNKS_RET(EGLBoolean, eglUnsignalSyncEXT, (EGLDisplay dpy, EGLSync sync, const EGLAttrib * attrib_list), (dpy, sync, attrib_list))
5159 GEN_THUNKS_RET(EGLBoolean, eglWaitClient, (void), ())
5160 GEN_THUNKS_RET(EGLBoolean, eglWaitGL, (void), ())
5161 GEN_THUNKS_RET(EGLBoolean, eglWaitNative, (EGLint engine), (engine))
5162 GEN_THUNKS_RET(EGLBoolean, eglWaitSync, (EGLDisplay dpy, EGLSync sync, EGLint flags), (dpy, sync, flags))
5163 GEN_THUNKS_RET(EGLint, eglWaitSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags), (dpy, sync, flags))
5164 
5165 #if USING_DISPATCH_TABLE
5166 static struct dispatch_table resolver_table = {
5167     epoxy_eglBindAPI_dispatch_table_rewrite_ptr, /* eglBindAPI */
5168     epoxy_eglBindTexImage_dispatch_table_rewrite_ptr, /* eglBindTexImage */
5169     epoxy_eglChooseConfig_dispatch_table_rewrite_ptr, /* eglChooseConfig */
5170     epoxy_eglClientSignalSyncEXT_dispatch_table_rewrite_ptr, /* eglClientSignalSyncEXT */
5171     epoxy_eglClientWaitSync_dispatch_table_rewrite_ptr, /* eglClientWaitSync */
5172     epoxy_eglClientWaitSyncKHR_dispatch_table_rewrite_ptr, /* eglClientWaitSyncKHR */
5173     epoxy_eglClientWaitSyncNV_dispatch_table_rewrite_ptr, /* eglClientWaitSyncNV */
5174     epoxy_eglCompositorBindTexWindowEXT_dispatch_table_rewrite_ptr, /* eglCompositorBindTexWindowEXT */
5175     epoxy_eglCompositorSetContextAttributesEXT_dispatch_table_rewrite_ptr, /* eglCompositorSetContextAttributesEXT */
5176     epoxy_eglCompositorSetContextListEXT_dispatch_table_rewrite_ptr, /* eglCompositorSetContextListEXT */
5177     epoxy_eglCompositorSetSizeEXT_dispatch_table_rewrite_ptr, /* eglCompositorSetSizeEXT */
5178     epoxy_eglCompositorSetWindowAttributesEXT_dispatch_table_rewrite_ptr, /* eglCompositorSetWindowAttributesEXT */
5179     epoxy_eglCompositorSetWindowListEXT_dispatch_table_rewrite_ptr, /* eglCompositorSetWindowListEXT */
5180     epoxy_eglCompositorSwapPolicyEXT_dispatch_table_rewrite_ptr, /* eglCompositorSwapPolicyEXT */
5181     epoxy_eglCopyBuffers_dispatch_table_rewrite_ptr, /* eglCopyBuffers */
5182     epoxy_eglCreateContext_dispatch_table_rewrite_ptr, /* eglCreateContext */
5183     epoxy_eglCreateDRMImageMESA_dispatch_table_rewrite_ptr, /* eglCreateDRMImageMESA */
5184     epoxy_eglCreateFenceSyncNV_dispatch_table_rewrite_ptr, /* eglCreateFenceSyncNV */
5185     epoxy_eglCreateImage_dispatch_table_rewrite_ptr, /* eglCreateImage */
5186     epoxy_eglCreateImageKHR_dispatch_table_rewrite_ptr, /* eglCreateImageKHR */
5187     epoxy_eglCreateNativeClientBufferANDROID_dispatch_table_rewrite_ptr, /* eglCreateNativeClientBufferANDROID */
5188     epoxy_eglCreatePbufferFromClientBuffer_dispatch_table_rewrite_ptr, /* eglCreatePbufferFromClientBuffer */
5189     epoxy_eglCreatePbufferSurface_dispatch_table_rewrite_ptr, /* eglCreatePbufferSurface */
5190     epoxy_eglCreatePixmapSurface_dispatch_table_rewrite_ptr, /* eglCreatePixmapSurface */
5191     epoxy_eglCreatePixmapSurfaceHI_dispatch_table_rewrite_ptr, /* eglCreatePixmapSurfaceHI */
5192     epoxy_eglCreatePlatformPixmapSurface_dispatch_table_rewrite_ptr, /* eglCreatePlatformPixmapSurface */
5193     epoxy_eglCreatePlatformPixmapSurfaceEXT_dispatch_table_rewrite_ptr, /* eglCreatePlatformPixmapSurfaceEXT */
5194     epoxy_eglCreatePlatformWindowSurface_dispatch_table_rewrite_ptr, /* eglCreatePlatformWindowSurface */
5195     epoxy_eglCreatePlatformWindowSurfaceEXT_dispatch_table_rewrite_ptr, /* eglCreatePlatformWindowSurfaceEXT */
5196     epoxy_eglCreateStreamAttribKHR_dispatch_table_rewrite_ptr, /* eglCreateStreamAttribKHR */
5197     epoxy_eglCreateStreamFromFileDescriptorKHR_dispatch_table_rewrite_ptr, /* eglCreateStreamFromFileDescriptorKHR */
5198     epoxy_eglCreateStreamKHR_dispatch_table_rewrite_ptr, /* eglCreateStreamKHR */
5199     epoxy_eglCreateStreamProducerSurfaceKHR_dispatch_table_rewrite_ptr, /* eglCreateStreamProducerSurfaceKHR */
5200     epoxy_eglCreateStreamSyncNV_dispatch_table_rewrite_ptr, /* eglCreateStreamSyncNV */
5201     epoxy_eglCreateSync_dispatch_table_rewrite_ptr, /* eglCreateSync */
5202     epoxy_eglCreateSync64KHR_dispatch_table_rewrite_ptr, /* eglCreateSync64KHR */
5203     epoxy_eglCreateSyncKHR_dispatch_table_rewrite_ptr, /* eglCreateSyncKHR */
5204     epoxy_eglCreateWindowSurface_dispatch_table_rewrite_ptr, /* eglCreateWindowSurface */
5205     epoxy_eglDebugMessageControlKHR_dispatch_table_rewrite_ptr, /* eglDebugMessageControlKHR */
5206     epoxy_eglDestroyContext_dispatch_table_rewrite_ptr, /* eglDestroyContext */
5207     epoxy_eglDestroyImage_dispatch_table_rewrite_ptr, /* eglDestroyImage */
5208     epoxy_eglDestroyImageKHR_dispatch_table_rewrite_ptr, /* eglDestroyImageKHR */
5209     epoxy_eglDestroyStreamKHR_dispatch_table_rewrite_ptr, /* eglDestroyStreamKHR */
5210     epoxy_eglDestroySurface_dispatch_table_rewrite_ptr, /* eglDestroySurface */
5211     epoxy_eglDestroySync_dispatch_table_rewrite_ptr, /* eglDestroySync */
5212     epoxy_eglDestroySyncKHR_dispatch_table_rewrite_ptr, /* eglDestroySyncKHR */
5213     epoxy_eglDestroySyncNV_dispatch_table_rewrite_ptr, /* eglDestroySyncNV */
5214     epoxy_eglDupNativeFenceFDANDROID_dispatch_table_rewrite_ptr, /* eglDupNativeFenceFDANDROID */
5215     epoxy_eglExportDMABUFImageMESA_dispatch_table_rewrite_ptr, /* eglExportDMABUFImageMESA */
5216     epoxy_eglExportDMABUFImageQueryMESA_dispatch_table_rewrite_ptr, /* eglExportDMABUFImageQueryMESA */
5217     epoxy_eglExportDRMImageMESA_dispatch_table_rewrite_ptr, /* eglExportDRMImageMESA */
5218     epoxy_eglFenceNV_dispatch_table_rewrite_ptr, /* eglFenceNV */
5219     epoxy_eglGetCompositorTimingANDROID_dispatch_table_rewrite_ptr, /* eglGetCompositorTimingANDROID */
5220     epoxy_eglGetCompositorTimingSupportedANDROID_dispatch_table_rewrite_ptr, /* eglGetCompositorTimingSupportedANDROID */
5221     epoxy_eglGetConfigAttrib_dispatch_table_rewrite_ptr, /* eglGetConfigAttrib */
5222     epoxy_eglGetConfigs_dispatch_table_rewrite_ptr, /* eglGetConfigs */
5223     epoxy_eglGetCurrentContext_dispatch_table_rewrite_ptr, /* eglGetCurrentContext */
5224     epoxy_eglGetCurrentDisplay_dispatch_table_rewrite_ptr, /* eglGetCurrentDisplay */
5225     epoxy_eglGetCurrentSurface_dispatch_table_rewrite_ptr, /* eglGetCurrentSurface */
5226     epoxy_eglGetDisplay_dispatch_table_rewrite_ptr, /* eglGetDisplay */
5227     epoxy_eglGetDisplayDriverConfig_dispatch_table_rewrite_ptr, /* eglGetDisplayDriverConfig */
5228     epoxy_eglGetDisplayDriverName_dispatch_table_rewrite_ptr, /* eglGetDisplayDriverName */
5229     epoxy_eglGetError_dispatch_table_rewrite_ptr, /* eglGetError */
5230     epoxy_eglGetFrameTimestampSupportedANDROID_dispatch_table_rewrite_ptr, /* eglGetFrameTimestampSupportedANDROID */
5231     epoxy_eglGetFrameTimestampsANDROID_dispatch_table_rewrite_ptr, /* eglGetFrameTimestampsANDROID */
5232     epoxy_eglGetNativeClientBufferANDROID_dispatch_table_rewrite_ptr, /* eglGetNativeClientBufferANDROID */
5233     epoxy_eglGetNextFrameIdANDROID_dispatch_table_rewrite_ptr, /* eglGetNextFrameIdANDROID */
5234     epoxy_eglGetOutputLayersEXT_dispatch_table_rewrite_ptr, /* eglGetOutputLayersEXT */
5235     epoxy_eglGetOutputPortsEXT_dispatch_table_rewrite_ptr, /* eglGetOutputPortsEXT */
5236     epoxy_eglGetPlatformDisplay_dispatch_table_rewrite_ptr, /* eglGetPlatformDisplay */
5237     epoxy_eglGetPlatformDisplayEXT_dispatch_table_rewrite_ptr, /* eglGetPlatformDisplayEXT */
5238     epoxy_eglGetProcAddress_dispatch_table_rewrite_ptr, /* eglGetProcAddress */
5239     epoxy_eglGetStreamFileDescriptorKHR_dispatch_table_rewrite_ptr, /* eglGetStreamFileDescriptorKHR */
5240     epoxy_eglGetSyncAttrib_dispatch_table_rewrite_ptr, /* eglGetSyncAttrib */
5241     epoxy_eglGetSyncAttribKHR_dispatch_table_rewrite_ptr, /* eglGetSyncAttribKHR */
5242     epoxy_eglGetSyncAttribNV_dispatch_table_rewrite_ptr, /* eglGetSyncAttribNV */
5243     epoxy_eglGetSystemTimeFrequencyNV_dispatch_table_rewrite_ptr, /* eglGetSystemTimeFrequencyNV */
5244     epoxy_eglGetSystemTimeNV_dispatch_table_rewrite_ptr, /* eglGetSystemTimeNV */
5245     epoxy_eglInitialize_dispatch_table_rewrite_ptr, /* eglInitialize */
5246     epoxy_eglLabelObjectKHR_dispatch_table_rewrite_ptr, /* eglLabelObjectKHR */
5247     epoxy_eglLockSurfaceKHR_dispatch_table_rewrite_ptr, /* eglLockSurfaceKHR */
5248     epoxy_eglMakeCurrent_dispatch_table_rewrite_ptr, /* eglMakeCurrent */
5249     epoxy_eglOutputLayerAttribEXT_dispatch_table_rewrite_ptr, /* eglOutputLayerAttribEXT */
5250     epoxy_eglOutputPortAttribEXT_dispatch_table_rewrite_ptr, /* eglOutputPortAttribEXT */
5251     epoxy_eglPostSubBufferNV_dispatch_table_rewrite_ptr, /* eglPostSubBufferNV */
5252     epoxy_eglPresentationTimeANDROID_dispatch_table_rewrite_ptr, /* eglPresentationTimeANDROID */
5253     epoxy_eglQueryAPI_dispatch_table_rewrite_ptr, /* eglQueryAPI */
5254     epoxy_eglQueryContext_dispatch_table_rewrite_ptr, /* eglQueryContext */
5255     epoxy_eglQueryDebugKHR_dispatch_table_rewrite_ptr, /* eglQueryDebugKHR */
5256     epoxy_eglQueryDeviceAttribEXT_dispatch_table_rewrite_ptr, /* eglQueryDeviceAttribEXT */
5257     epoxy_eglQueryDeviceStringEXT_dispatch_table_rewrite_ptr, /* eglQueryDeviceStringEXT */
5258     epoxy_eglQueryDevicesEXT_dispatch_table_rewrite_ptr, /* eglQueryDevicesEXT */
5259     epoxy_eglQueryDisplayAttribEXT_dispatch_table_rewrite_ptr, /* eglQueryDisplayAttribEXT */
5260     epoxy_eglQueryDisplayAttribKHR_dispatch_table_rewrite_ptr, /* eglQueryDisplayAttribKHR */
5261     epoxy_eglQueryDisplayAttribNV_dispatch_table_rewrite_ptr, /* eglQueryDisplayAttribNV */
5262     epoxy_eglQueryDmaBufFormatsEXT_dispatch_table_rewrite_ptr, /* eglQueryDmaBufFormatsEXT */
5263     epoxy_eglQueryDmaBufModifiersEXT_dispatch_table_rewrite_ptr, /* eglQueryDmaBufModifiersEXT */
5264     epoxy_eglQueryNativeDisplayNV_dispatch_table_rewrite_ptr, /* eglQueryNativeDisplayNV */
5265     epoxy_eglQueryNativePixmapNV_dispatch_table_rewrite_ptr, /* eglQueryNativePixmapNV */
5266     epoxy_eglQueryNativeWindowNV_dispatch_table_rewrite_ptr, /* eglQueryNativeWindowNV */
5267     epoxy_eglQueryOutputLayerAttribEXT_dispatch_table_rewrite_ptr, /* eglQueryOutputLayerAttribEXT */
5268     epoxy_eglQueryOutputLayerStringEXT_dispatch_table_rewrite_ptr, /* eglQueryOutputLayerStringEXT */
5269     epoxy_eglQueryOutputPortAttribEXT_dispatch_table_rewrite_ptr, /* eglQueryOutputPortAttribEXT */
5270     epoxy_eglQueryOutputPortStringEXT_dispatch_table_rewrite_ptr, /* eglQueryOutputPortStringEXT */
5271     epoxy_eglQueryStreamAttribKHR_dispatch_table_rewrite_ptr, /* eglQueryStreamAttribKHR */
5272     epoxy_eglQueryStreamKHR_dispatch_table_rewrite_ptr, /* eglQueryStreamKHR */
5273     epoxy_eglQueryStreamMetadataNV_dispatch_table_rewrite_ptr, /* eglQueryStreamMetadataNV */
5274     epoxy_eglQueryStreamTimeKHR_dispatch_table_rewrite_ptr, /* eglQueryStreamTimeKHR */
5275     epoxy_eglQueryStreamu64KHR_dispatch_table_rewrite_ptr, /* eglQueryStreamu64KHR */
5276     epoxy_eglQueryString_dispatch_table_rewrite_ptr, /* eglQueryString */
5277     epoxy_eglQuerySurface_dispatch_table_rewrite_ptr, /* eglQuerySurface */
5278     epoxy_eglQuerySurface64KHR_dispatch_table_rewrite_ptr, /* eglQuerySurface64KHR */
5279     epoxy_eglQuerySurfacePointerANGLE_dispatch_table_rewrite_ptr, /* eglQuerySurfacePointerANGLE */
5280     epoxy_eglReleaseTexImage_dispatch_table_rewrite_ptr, /* eglReleaseTexImage */
5281     epoxy_eglReleaseThread_dispatch_table_rewrite_ptr, /* eglReleaseThread */
5282     epoxy_eglResetStreamNV_dispatch_table_rewrite_ptr, /* eglResetStreamNV */
5283     epoxy_eglSetBlobCacheFuncsANDROID_dispatch_table_rewrite_ptr, /* eglSetBlobCacheFuncsANDROID */
5284     epoxy_eglSetDamageRegionKHR_dispatch_table_rewrite_ptr, /* eglSetDamageRegionKHR */
5285     epoxy_eglSetStreamAttribKHR_dispatch_table_rewrite_ptr, /* eglSetStreamAttribKHR */
5286     epoxy_eglSetStreamMetadataNV_dispatch_table_rewrite_ptr, /* eglSetStreamMetadataNV */
5287     epoxy_eglSignalSyncKHR_dispatch_table_rewrite_ptr, /* eglSignalSyncKHR */
5288     epoxy_eglSignalSyncNV_dispatch_table_rewrite_ptr, /* eglSignalSyncNV */
5289     epoxy_eglStreamAttribKHR_dispatch_table_rewrite_ptr, /* eglStreamAttribKHR */
5290     epoxy_eglStreamConsumerAcquireAttribKHR_dispatch_table_rewrite_ptr, /* eglStreamConsumerAcquireAttribKHR */
5291     epoxy_eglStreamConsumerAcquireKHR_dispatch_table_rewrite_ptr, /* eglStreamConsumerAcquireKHR */
5292     epoxy_eglStreamConsumerGLTextureExternalAttribsNV_dispatch_table_rewrite_ptr, /* eglStreamConsumerGLTextureExternalAttribsNV */
5293     epoxy_eglStreamConsumerGLTextureExternalKHR_dispatch_table_rewrite_ptr, /* eglStreamConsumerGLTextureExternalKHR */
5294     epoxy_eglStreamConsumerOutputEXT_dispatch_table_rewrite_ptr, /* eglStreamConsumerOutputEXT */
5295     epoxy_eglStreamConsumerReleaseAttribKHR_dispatch_table_rewrite_ptr, /* eglStreamConsumerReleaseAttribKHR */
5296     epoxy_eglStreamConsumerReleaseKHR_dispatch_table_rewrite_ptr, /* eglStreamConsumerReleaseKHR */
5297     epoxy_eglStreamFlushNV_dispatch_table_rewrite_ptr, /* eglStreamFlushNV */
5298     epoxy_eglSurfaceAttrib_dispatch_table_rewrite_ptr, /* eglSurfaceAttrib */
5299     epoxy_eglSwapBuffers_dispatch_table_rewrite_ptr, /* eglSwapBuffers */
5300     epoxy_eglSwapBuffersRegion2NOK_dispatch_table_rewrite_ptr, /* eglSwapBuffersRegion2NOK */
5301     epoxy_eglSwapBuffersRegionNOK_dispatch_table_rewrite_ptr, /* eglSwapBuffersRegionNOK */
5302     epoxy_eglSwapBuffersWithDamageEXT_dispatch_table_rewrite_ptr, /* eglSwapBuffersWithDamageEXT */
5303     epoxy_eglSwapBuffersWithDamageKHR_dispatch_table_rewrite_ptr, /* eglSwapBuffersWithDamageKHR */
5304     epoxy_eglSwapInterval_dispatch_table_rewrite_ptr, /* eglSwapInterval */
5305     epoxy_eglTerminate_dispatch_table_rewrite_ptr, /* eglTerminate */
5306     epoxy_eglUnlockSurfaceKHR_dispatch_table_rewrite_ptr, /* eglUnlockSurfaceKHR */
5307     epoxy_eglUnsignalSyncEXT_dispatch_table_rewrite_ptr, /* eglUnsignalSyncEXT */
5308     epoxy_eglWaitClient_dispatch_table_rewrite_ptr, /* eglWaitClient */
5309     epoxy_eglWaitGL_dispatch_table_rewrite_ptr, /* eglWaitGL */
5310     epoxy_eglWaitNative_dispatch_table_rewrite_ptr, /* eglWaitNative */
5311     epoxy_eglWaitSync_dispatch_table_rewrite_ptr, /* eglWaitSync */
5312     epoxy_eglWaitSyncKHR_dispatch_table_rewrite_ptr, /* eglWaitSyncKHR */
5313 };
5314 
5315 uint32_t egl_tls_index;
5316 uint32_t egl_tls_size = sizeof(struct dispatch_table);
5317 
5318 static inline struct dispatch_table *
get_dispatch_table(void)5319 get_dispatch_table(void)
5320 {
5321 	return TlsGetValue(egl_tls_index);
5322 }
5323 
5324 void
egl_init_dispatch_table(void)5325 egl_init_dispatch_table(void)
5326 {
5327     struct dispatch_table *dispatch_table = get_dispatch_table();
5328     memcpy(dispatch_table, &resolver_table, sizeof(resolver_table));
5329 }
5330 
5331 void
egl_switch_to_dispatch_table(void)5332 egl_switch_to_dispatch_table(void)
5333 {
5334     epoxy_eglBindAPI = epoxy_eglBindAPI_dispatch_table_thunk;
5335     epoxy_eglBindTexImage = epoxy_eglBindTexImage_dispatch_table_thunk;
5336     epoxy_eglChooseConfig = epoxy_eglChooseConfig_dispatch_table_thunk;
5337     epoxy_eglClientSignalSyncEXT = epoxy_eglClientSignalSyncEXT_dispatch_table_thunk;
5338     epoxy_eglClientWaitSync = epoxy_eglClientWaitSync_dispatch_table_thunk;
5339     epoxy_eglClientWaitSyncKHR = epoxy_eglClientWaitSyncKHR_dispatch_table_thunk;
5340     epoxy_eglClientWaitSyncNV = epoxy_eglClientWaitSyncNV_dispatch_table_thunk;
5341     epoxy_eglCompositorBindTexWindowEXT = epoxy_eglCompositorBindTexWindowEXT_dispatch_table_thunk;
5342     epoxy_eglCompositorSetContextAttributesEXT = epoxy_eglCompositorSetContextAttributesEXT_dispatch_table_thunk;
5343     epoxy_eglCompositorSetContextListEXT = epoxy_eglCompositorSetContextListEXT_dispatch_table_thunk;
5344     epoxy_eglCompositorSetSizeEXT = epoxy_eglCompositorSetSizeEXT_dispatch_table_thunk;
5345     epoxy_eglCompositorSetWindowAttributesEXT = epoxy_eglCompositorSetWindowAttributesEXT_dispatch_table_thunk;
5346     epoxy_eglCompositorSetWindowListEXT = epoxy_eglCompositorSetWindowListEXT_dispatch_table_thunk;
5347     epoxy_eglCompositorSwapPolicyEXT = epoxy_eglCompositorSwapPolicyEXT_dispatch_table_thunk;
5348     epoxy_eglCopyBuffers = epoxy_eglCopyBuffers_dispatch_table_thunk;
5349     epoxy_eglCreateContext = epoxy_eglCreateContext_dispatch_table_thunk;
5350     epoxy_eglCreateDRMImageMESA = epoxy_eglCreateDRMImageMESA_dispatch_table_thunk;
5351     epoxy_eglCreateFenceSyncNV = epoxy_eglCreateFenceSyncNV_dispatch_table_thunk;
5352     epoxy_eglCreateImage = epoxy_eglCreateImage_dispatch_table_thunk;
5353     epoxy_eglCreateImageKHR = epoxy_eglCreateImageKHR_dispatch_table_thunk;
5354     epoxy_eglCreateNativeClientBufferANDROID = epoxy_eglCreateNativeClientBufferANDROID_dispatch_table_thunk;
5355     epoxy_eglCreatePbufferFromClientBuffer = epoxy_eglCreatePbufferFromClientBuffer_dispatch_table_thunk;
5356     epoxy_eglCreatePbufferSurface = epoxy_eglCreatePbufferSurface_dispatch_table_thunk;
5357     epoxy_eglCreatePixmapSurface = epoxy_eglCreatePixmapSurface_dispatch_table_thunk;
5358     epoxy_eglCreatePixmapSurfaceHI = epoxy_eglCreatePixmapSurfaceHI_dispatch_table_thunk;
5359     epoxy_eglCreatePlatformPixmapSurface = epoxy_eglCreatePlatformPixmapSurface_dispatch_table_thunk;
5360     epoxy_eglCreatePlatformPixmapSurfaceEXT = epoxy_eglCreatePlatformPixmapSurfaceEXT_dispatch_table_thunk;
5361     epoxy_eglCreatePlatformWindowSurface = epoxy_eglCreatePlatformWindowSurface_dispatch_table_thunk;
5362     epoxy_eglCreatePlatformWindowSurfaceEXT = epoxy_eglCreatePlatformWindowSurfaceEXT_dispatch_table_thunk;
5363     epoxy_eglCreateStreamAttribKHR = epoxy_eglCreateStreamAttribKHR_dispatch_table_thunk;
5364     epoxy_eglCreateStreamFromFileDescriptorKHR = epoxy_eglCreateStreamFromFileDescriptorKHR_dispatch_table_thunk;
5365     epoxy_eglCreateStreamKHR = epoxy_eglCreateStreamKHR_dispatch_table_thunk;
5366     epoxy_eglCreateStreamProducerSurfaceKHR = epoxy_eglCreateStreamProducerSurfaceKHR_dispatch_table_thunk;
5367     epoxy_eglCreateStreamSyncNV = epoxy_eglCreateStreamSyncNV_dispatch_table_thunk;
5368     epoxy_eglCreateSync = epoxy_eglCreateSync_dispatch_table_thunk;
5369     epoxy_eglCreateSync64KHR = epoxy_eglCreateSync64KHR_dispatch_table_thunk;
5370     epoxy_eglCreateSyncKHR = epoxy_eglCreateSyncKHR_dispatch_table_thunk;
5371     epoxy_eglCreateWindowSurface = epoxy_eglCreateWindowSurface_dispatch_table_thunk;
5372     epoxy_eglDebugMessageControlKHR = epoxy_eglDebugMessageControlKHR_dispatch_table_thunk;
5373     epoxy_eglDestroyContext = epoxy_eglDestroyContext_dispatch_table_thunk;
5374     epoxy_eglDestroyImage = epoxy_eglDestroyImage_dispatch_table_thunk;
5375     epoxy_eglDestroyImageKHR = epoxy_eglDestroyImageKHR_dispatch_table_thunk;
5376     epoxy_eglDestroyStreamKHR = epoxy_eglDestroyStreamKHR_dispatch_table_thunk;
5377     epoxy_eglDestroySurface = epoxy_eglDestroySurface_dispatch_table_thunk;
5378     epoxy_eglDestroySync = epoxy_eglDestroySync_dispatch_table_thunk;
5379     epoxy_eglDestroySyncKHR = epoxy_eglDestroySyncKHR_dispatch_table_thunk;
5380     epoxy_eglDestroySyncNV = epoxy_eglDestroySyncNV_dispatch_table_thunk;
5381     epoxy_eglDupNativeFenceFDANDROID = epoxy_eglDupNativeFenceFDANDROID_dispatch_table_thunk;
5382     epoxy_eglExportDMABUFImageMESA = epoxy_eglExportDMABUFImageMESA_dispatch_table_thunk;
5383     epoxy_eglExportDMABUFImageQueryMESA = epoxy_eglExportDMABUFImageQueryMESA_dispatch_table_thunk;
5384     epoxy_eglExportDRMImageMESA = epoxy_eglExportDRMImageMESA_dispatch_table_thunk;
5385     epoxy_eglFenceNV = epoxy_eglFenceNV_dispatch_table_thunk;
5386     epoxy_eglGetCompositorTimingANDROID = epoxy_eglGetCompositorTimingANDROID_dispatch_table_thunk;
5387     epoxy_eglGetCompositorTimingSupportedANDROID = epoxy_eglGetCompositorTimingSupportedANDROID_dispatch_table_thunk;
5388     epoxy_eglGetConfigAttrib = epoxy_eglGetConfigAttrib_dispatch_table_thunk;
5389     epoxy_eglGetConfigs = epoxy_eglGetConfigs_dispatch_table_thunk;
5390     epoxy_eglGetCurrentContext = epoxy_eglGetCurrentContext_dispatch_table_thunk;
5391     epoxy_eglGetCurrentDisplay = epoxy_eglGetCurrentDisplay_dispatch_table_thunk;
5392     epoxy_eglGetCurrentSurface = epoxy_eglGetCurrentSurface_dispatch_table_thunk;
5393     epoxy_eglGetDisplay = epoxy_eglGetDisplay_dispatch_table_thunk;
5394     epoxy_eglGetDisplayDriverConfig = epoxy_eglGetDisplayDriverConfig_dispatch_table_thunk;
5395     epoxy_eglGetDisplayDriverName = epoxy_eglGetDisplayDriverName_dispatch_table_thunk;
5396     epoxy_eglGetError = epoxy_eglGetError_dispatch_table_thunk;
5397     epoxy_eglGetFrameTimestampSupportedANDROID = epoxy_eglGetFrameTimestampSupportedANDROID_dispatch_table_thunk;
5398     epoxy_eglGetFrameTimestampsANDROID = epoxy_eglGetFrameTimestampsANDROID_dispatch_table_thunk;
5399     epoxy_eglGetNativeClientBufferANDROID = epoxy_eglGetNativeClientBufferANDROID_dispatch_table_thunk;
5400     epoxy_eglGetNextFrameIdANDROID = epoxy_eglGetNextFrameIdANDROID_dispatch_table_thunk;
5401     epoxy_eglGetOutputLayersEXT = epoxy_eglGetOutputLayersEXT_dispatch_table_thunk;
5402     epoxy_eglGetOutputPortsEXT = epoxy_eglGetOutputPortsEXT_dispatch_table_thunk;
5403     epoxy_eglGetPlatformDisplay = epoxy_eglGetPlatformDisplay_dispatch_table_thunk;
5404     epoxy_eglGetPlatformDisplayEXT = epoxy_eglGetPlatformDisplayEXT_dispatch_table_thunk;
5405     epoxy_eglGetProcAddress = epoxy_eglGetProcAddress_dispatch_table_thunk;
5406     epoxy_eglGetStreamFileDescriptorKHR = epoxy_eglGetStreamFileDescriptorKHR_dispatch_table_thunk;
5407     epoxy_eglGetSyncAttrib = epoxy_eglGetSyncAttrib_dispatch_table_thunk;
5408     epoxy_eglGetSyncAttribKHR = epoxy_eglGetSyncAttribKHR_dispatch_table_thunk;
5409     epoxy_eglGetSyncAttribNV = epoxy_eglGetSyncAttribNV_dispatch_table_thunk;
5410     epoxy_eglGetSystemTimeFrequencyNV = epoxy_eglGetSystemTimeFrequencyNV_dispatch_table_thunk;
5411     epoxy_eglGetSystemTimeNV = epoxy_eglGetSystemTimeNV_dispatch_table_thunk;
5412     epoxy_eglInitialize = epoxy_eglInitialize_dispatch_table_thunk;
5413     epoxy_eglLabelObjectKHR = epoxy_eglLabelObjectKHR_dispatch_table_thunk;
5414     epoxy_eglLockSurfaceKHR = epoxy_eglLockSurfaceKHR_dispatch_table_thunk;
5415     epoxy_eglMakeCurrent = epoxy_eglMakeCurrent_dispatch_table_thunk;
5416     epoxy_eglOutputLayerAttribEXT = epoxy_eglOutputLayerAttribEXT_dispatch_table_thunk;
5417     epoxy_eglOutputPortAttribEXT = epoxy_eglOutputPortAttribEXT_dispatch_table_thunk;
5418     epoxy_eglPostSubBufferNV = epoxy_eglPostSubBufferNV_dispatch_table_thunk;
5419     epoxy_eglPresentationTimeANDROID = epoxy_eglPresentationTimeANDROID_dispatch_table_thunk;
5420     epoxy_eglQueryAPI = epoxy_eglQueryAPI_dispatch_table_thunk;
5421     epoxy_eglQueryContext = epoxy_eglQueryContext_dispatch_table_thunk;
5422     epoxy_eglQueryDebugKHR = epoxy_eglQueryDebugKHR_dispatch_table_thunk;
5423     epoxy_eglQueryDeviceAttribEXT = epoxy_eglQueryDeviceAttribEXT_dispatch_table_thunk;
5424     epoxy_eglQueryDeviceStringEXT = epoxy_eglQueryDeviceStringEXT_dispatch_table_thunk;
5425     epoxy_eglQueryDevicesEXT = epoxy_eglQueryDevicesEXT_dispatch_table_thunk;
5426     epoxy_eglQueryDisplayAttribEXT = epoxy_eglQueryDisplayAttribEXT_dispatch_table_thunk;
5427     epoxy_eglQueryDisplayAttribKHR = epoxy_eglQueryDisplayAttribKHR_dispatch_table_thunk;
5428     epoxy_eglQueryDisplayAttribNV = epoxy_eglQueryDisplayAttribNV_dispatch_table_thunk;
5429     epoxy_eglQueryDmaBufFormatsEXT = epoxy_eglQueryDmaBufFormatsEXT_dispatch_table_thunk;
5430     epoxy_eglQueryDmaBufModifiersEXT = epoxy_eglQueryDmaBufModifiersEXT_dispatch_table_thunk;
5431     epoxy_eglQueryNativeDisplayNV = epoxy_eglQueryNativeDisplayNV_dispatch_table_thunk;
5432     epoxy_eglQueryNativePixmapNV = epoxy_eglQueryNativePixmapNV_dispatch_table_thunk;
5433     epoxy_eglQueryNativeWindowNV = epoxy_eglQueryNativeWindowNV_dispatch_table_thunk;
5434     epoxy_eglQueryOutputLayerAttribEXT = epoxy_eglQueryOutputLayerAttribEXT_dispatch_table_thunk;
5435     epoxy_eglQueryOutputLayerStringEXT = epoxy_eglQueryOutputLayerStringEXT_dispatch_table_thunk;
5436     epoxy_eglQueryOutputPortAttribEXT = epoxy_eglQueryOutputPortAttribEXT_dispatch_table_thunk;
5437     epoxy_eglQueryOutputPortStringEXT = epoxy_eglQueryOutputPortStringEXT_dispatch_table_thunk;
5438     epoxy_eglQueryStreamAttribKHR = epoxy_eglQueryStreamAttribKHR_dispatch_table_thunk;
5439     epoxy_eglQueryStreamKHR = epoxy_eglQueryStreamKHR_dispatch_table_thunk;
5440     epoxy_eglQueryStreamMetadataNV = epoxy_eglQueryStreamMetadataNV_dispatch_table_thunk;
5441     epoxy_eglQueryStreamTimeKHR = epoxy_eglQueryStreamTimeKHR_dispatch_table_thunk;
5442     epoxy_eglQueryStreamu64KHR = epoxy_eglQueryStreamu64KHR_dispatch_table_thunk;
5443     epoxy_eglQueryString = epoxy_eglQueryString_dispatch_table_thunk;
5444     epoxy_eglQuerySurface = epoxy_eglQuerySurface_dispatch_table_thunk;
5445     epoxy_eglQuerySurface64KHR = epoxy_eglQuerySurface64KHR_dispatch_table_thunk;
5446     epoxy_eglQuerySurfacePointerANGLE = epoxy_eglQuerySurfacePointerANGLE_dispatch_table_thunk;
5447     epoxy_eglReleaseTexImage = epoxy_eglReleaseTexImage_dispatch_table_thunk;
5448     epoxy_eglReleaseThread = epoxy_eglReleaseThread_dispatch_table_thunk;
5449     epoxy_eglResetStreamNV = epoxy_eglResetStreamNV_dispatch_table_thunk;
5450     epoxy_eglSetBlobCacheFuncsANDROID = epoxy_eglSetBlobCacheFuncsANDROID_dispatch_table_thunk;
5451     epoxy_eglSetDamageRegionKHR = epoxy_eglSetDamageRegionKHR_dispatch_table_thunk;
5452     epoxy_eglSetStreamAttribKHR = epoxy_eglSetStreamAttribKHR_dispatch_table_thunk;
5453     epoxy_eglSetStreamMetadataNV = epoxy_eglSetStreamMetadataNV_dispatch_table_thunk;
5454     epoxy_eglSignalSyncKHR = epoxy_eglSignalSyncKHR_dispatch_table_thunk;
5455     epoxy_eglSignalSyncNV = epoxy_eglSignalSyncNV_dispatch_table_thunk;
5456     epoxy_eglStreamAttribKHR = epoxy_eglStreamAttribKHR_dispatch_table_thunk;
5457     epoxy_eglStreamConsumerAcquireAttribKHR = epoxy_eglStreamConsumerAcquireAttribKHR_dispatch_table_thunk;
5458     epoxy_eglStreamConsumerAcquireKHR = epoxy_eglStreamConsumerAcquireKHR_dispatch_table_thunk;
5459     epoxy_eglStreamConsumerGLTextureExternalAttribsNV = epoxy_eglStreamConsumerGLTextureExternalAttribsNV_dispatch_table_thunk;
5460     epoxy_eglStreamConsumerGLTextureExternalKHR = epoxy_eglStreamConsumerGLTextureExternalKHR_dispatch_table_thunk;
5461     epoxy_eglStreamConsumerOutputEXT = epoxy_eglStreamConsumerOutputEXT_dispatch_table_thunk;
5462     epoxy_eglStreamConsumerReleaseAttribKHR = epoxy_eglStreamConsumerReleaseAttribKHR_dispatch_table_thunk;
5463     epoxy_eglStreamConsumerReleaseKHR = epoxy_eglStreamConsumerReleaseKHR_dispatch_table_thunk;
5464     epoxy_eglStreamFlushNV = epoxy_eglStreamFlushNV_dispatch_table_thunk;
5465     epoxy_eglSurfaceAttrib = epoxy_eglSurfaceAttrib_dispatch_table_thunk;
5466     epoxy_eglSwapBuffers = epoxy_eglSwapBuffers_dispatch_table_thunk;
5467     epoxy_eglSwapBuffersRegion2NOK = epoxy_eglSwapBuffersRegion2NOK_dispatch_table_thunk;
5468     epoxy_eglSwapBuffersRegionNOK = epoxy_eglSwapBuffersRegionNOK_dispatch_table_thunk;
5469     epoxy_eglSwapBuffersWithDamageEXT = epoxy_eglSwapBuffersWithDamageEXT_dispatch_table_thunk;
5470     epoxy_eglSwapBuffersWithDamageKHR = epoxy_eglSwapBuffersWithDamageKHR_dispatch_table_thunk;
5471     epoxy_eglSwapInterval = epoxy_eglSwapInterval_dispatch_table_thunk;
5472     epoxy_eglTerminate = epoxy_eglTerminate_dispatch_table_thunk;
5473     epoxy_eglUnlockSurfaceKHR = epoxy_eglUnlockSurfaceKHR_dispatch_table_thunk;
5474     epoxy_eglUnsignalSyncEXT = epoxy_eglUnsignalSyncEXT_dispatch_table_thunk;
5475     epoxy_eglWaitClient = epoxy_eglWaitClient_dispatch_table_thunk;
5476     epoxy_eglWaitGL = epoxy_eglWaitGL_dispatch_table_thunk;
5477     epoxy_eglWaitNative = epoxy_eglWaitNative_dispatch_table_thunk;
5478     epoxy_eglWaitSync = epoxy_eglWaitSync_dispatch_table_thunk;
5479     epoxy_eglWaitSyncKHR = epoxy_eglWaitSyncKHR_dispatch_table_thunk;
5480 }
5481 
5482 #endif /* !USING_DISPATCH_TABLE */
5483 PFNEGLBINDAPIPROC epoxy_eglBindAPI = epoxy_eglBindAPI_global_rewrite_ptr;
5484 
5485 PFNEGLBINDTEXIMAGEPROC epoxy_eglBindTexImage = epoxy_eglBindTexImage_global_rewrite_ptr;
5486 
5487 PFNEGLCHOOSECONFIGPROC epoxy_eglChooseConfig = epoxy_eglChooseConfig_global_rewrite_ptr;
5488 
5489 PFNEGLCLIENTSIGNALSYNCEXTPROC epoxy_eglClientSignalSyncEXT = epoxy_eglClientSignalSyncEXT_global_rewrite_ptr;
5490 
5491 PFNEGLCLIENTWAITSYNCPROC epoxy_eglClientWaitSync = epoxy_eglClientWaitSync_global_rewrite_ptr;
5492 
5493 PFNEGLCLIENTWAITSYNCKHRPROC epoxy_eglClientWaitSyncKHR = epoxy_eglClientWaitSyncKHR_global_rewrite_ptr;
5494 
5495 PFNEGLCLIENTWAITSYNCNVPROC epoxy_eglClientWaitSyncNV = epoxy_eglClientWaitSyncNV_global_rewrite_ptr;
5496 
5497 PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC epoxy_eglCompositorBindTexWindowEXT = epoxy_eglCompositorBindTexWindowEXT_global_rewrite_ptr;
5498 
5499 PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC epoxy_eglCompositorSetContextAttributesEXT = epoxy_eglCompositorSetContextAttributesEXT_global_rewrite_ptr;
5500 
5501 PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC epoxy_eglCompositorSetContextListEXT = epoxy_eglCompositorSetContextListEXT_global_rewrite_ptr;
5502 
5503 PFNEGLCOMPOSITORSETSIZEEXTPROC epoxy_eglCompositorSetSizeEXT = epoxy_eglCompositorSetSizeEXT_global_rewrite_ptr;
5504 
5505 PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC epoxy_eglCompositorSetWindowAttributesEXT = epoxy_eglCompositorSetWindowAttributesEXT_global_rewrite_ptr;
5506 
5507 PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC epoxy_eglCompositorSetWindowListEXT = epoxy_eglCompositorSetWindowListEXT_global_rewrite_ptr;
5508 
5509 PFNEGLCOMPOSITORSWAPPOLICYEXTPROC epoxy_eglCompositorSwapPolicyEXT = epoxy_eglCompositorSwapPolicyEXT_global_rewrite_ptr;
5510 
5511 PFNEGLCOPYBUFFERSPROC epoxy_eglCopyBuffers = epoxy_eglCopyBuffers_global_rewrite_ptr;
5512 
5513 PFNEGLCREATECONTEXTPROC epoxy_eglCreateContext = epoxy_eglCreateContext_global_rewrite_ptr;
5514 
5515 PFNEGLCREATEDRMIMAGEMESAPROC epoxy_eglCreateDRMImageMESA = epoxy_eglCreateDRMImageMESA_global_rewrite_ptr;
5516 
5517 PFNEGLCREATEFENCESYNCNVPROC epoxy_eglCreateFenceSyncNV = epoxy_eglCreateFenceSyncNV_global_rewrite_ptr;
5518 
5519 PFNEGLCREATEIMAGEPROC epoxy_eglCreateImage = epoxy_eglCreateImage_global_rewrite_ptr;
5520 
5521 PFNEGLCREATEIMAGEKHRPROC epoxy_eglCreateImageKHR = epoxy_eglCreateImageKHR_global_rewrite_ptr;
5522 
5523 PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC epoxy_eglCreateNativeClientBufferANDROID = epoxy_eglCreateNativeClientBufferANDROID_global_rewrite_ptr;
5524 
5525 PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC epoxy_eglCreatePbufferFromClientBuffer = epoxy_eglCreatePbufferFromClientBuffer_global_rewrite_ptr;
5526 
5527 PFNEGLCREATEPBUFFERSURFACEPROC epoxy_eglCreatePbufferSurface = epoxy_eglCreatePbufferSurface_global_rewrite_ptr;
5528 
5529 PFNEGLCREATEPIXMAPSURFACEPROC epoxy_eglCreatePixmapSurface = epoxy_eglCreatePixmapSurface_global_rewrite_ptr;
5530 
5531 PFNEGLCREATEPIXMAPSURFACEHIPROC epoxy_eglCreatePixmapSurfaceHI = epoxy_eglCreatePixmapSurfaceHI_global_rewrite_ptr;
5532 
5533 PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC epoxy_eglCreatePlatformPixmapSurface = epoxy_eglCreatePlatformPixmapSurface_global_rewrite_ptr;
5534 
5535 PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC epoxy_eglCreatePlatformPixmapSurfaceEXT = epoxy_eglCreatePlatformPixmapSurfaceEXT_global_rewrite_ptr;
5536 
5537 PFNEGLCREATEPLATFORMWINDOWSURFACEPROC epoxy_eglCreatePlatformWindowSurface = epoxy_eglCreatePlatformWindowSurface_global_rewrite_ptr;
5538 
5539 PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC epoxy_eglCreatePlatformWindowSurfaceEXT = epoxy_eglCreatePlatformWindowSurfaceEXT_global_rewrite_ptr;
5540 
5541 PFNEGLCREATESTREAMATTRIBKHRPROC epoxy_eglCreateStreamAttribKHR = epoxy_eglCreateStreamAttribKHR_global_rewrite_ptr;
5542 
5543 PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC epoxy_eglCreateStreamFromFileDescriptorKHR = epoxy_eglCreateStreamFromFileDescriptorKHR_global_rewrite_ptr;
5544 
5545 PFNEGLCREATESTREAMKHRPROC epoxy_eglCreateStreamKHR = epoxy_eglCreateStreamKHR_global_rewrite_ptr;
5546 
5547 PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC epoxy_eglCreateStreamProducerSurfaceKHR = epoxy_eglCreateStreamProducerSurfaceKHR_global_rewrite_ptr;
5548 
5549 PFNEGLCREATESTREAMSYNCNVPROC epoxy_eglCreateStreamSyncNV = epoxy_eglCreateStreamSyncNV_global_rewrite_ptr;
5550 
5551 PFNEGLCREATESYNCPROC epoxy_eglCreateSync = epoxy_eglCreateSync_global_rewrite_ptr;
5552 
5553 PFNEGLCREATESYNC64KHRPROC epoxy_eglCreateSync64KHR = epoxy_eglCreateSync64KHR_global_rewrite_ptr;
5554 
5555 PFNEGLCREATESYNCKHRPROC epoxy_eglCreateSyncKHR = epoxy_eglCreateSyncKHR_global_rewrite_ptr;
5556 
5557 PFNEGLCREATEWINDOWSURFACEPROC epoxy_eglCreateWindowSurface = epoxy_eglCreateWindowSurface_global_rewrite_ptr;
5558 
5559 PFNEGLDEBUGMESSAGECONTROLKHRPROC epoxy_eglDebugMessageControlKHR = epoxy_eglDebugMessageControlKHR_global_rewrite_ptr;
5560 
5561 PFNEGLDESTROYCONTEXTPROC epoxy_eglDestroyContext = epoxy_eglDestroyContext_global_rewrite_ptr;
5562 
5563 PFNEGLDESTROYIMAGEPROC epoxy_eglDestroyImage = epoxy_eglDestroyImage_global_rewrite_ptr;
5564 
5565 PFNEGLDESTROYIMAGEKHRPROC epoxy_eglDestroyImageKHR = epoxy_eglDestroyImageKHR_global_rewrite_ptr;
5566 
5567 PFNEGLDESTROYSTREAMKHRPROC epoxy_eglDestroyStreamKHR = epoxy_eglDestroyStreamKHR_global_rewrite_ptr;
5568 
5569 PFNEGLDESTROYSURFACEPROC epoxy_eglDestroySurface = epoxy_eglDestroySurface_global_rewrite_ptr;
5570 
5571 PFNEGLDESTROYSYNCPROC epoxy_eglDestroySync = epoxy_eglDestroySync_global_rewrite_ptr;
5572 
5573 PFNEGLDESTROYSYNCKHRPROC epoxy_eglDestroySyncKHR = epoxy_eglDestroySyncKHR_global_rewrite_ptr;
5574 
5575 PFNEGLDESTROYSYNCNVPROC epoxy_eglDestroySyncNV = epoxy_eglDestroySyncNV_global_rewrite_ptr;
5576 
5577 PFNEGLDUPNATIVEFENCEFDANDROIDPROC epoxy_eglDupNativeFenceFDANDROID = epoxy_eglDupNativeFenceFDANDROID_global_rewrite_ptr;
5578 
5579 PFNEGLEXPORTDMABUFIMAGEMESAPROC epoxy_eglExportDMABUFImageMESA = epoxy_eglExportDMABUFImageMESA_global_rewrite_ptr;
5580 
5581 PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC epoxy_eglExportDMABUFImageQueryMESA = epoxy_eglExportDMABUFImageQueryMESA_global_rewrite_ptr;
5582 
5583 PFNEGLEXPORTDRMIMAGEMESAPROC epoxy_eglExportDRMImageMESA = epoxy_eglExportDRMImageMESA_global_rewrite_ptr;
5584 
5585 PFNEGLFENCENVPROC epoxy_eglFenceNV = epoxy_eglFenceNV_global_rewrite_ptr;
5586 
5587 PFNEGLGETCOMPOSITORTIMINGANDROIDPROC epoxy_eglGetCompositorTimingANDROID = epoxy_eglGetCompositorTimingANDROID_global_rewrite_ptr;
5588 
5589 PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC epoxy_eglGetCompositorTimingSupportedANDROID = epoxy_eglGetCompositorTimingSupportedANDROID_global_rewrite_ptr;
5590 
5591 PFNEGLGETCONFIGATTRIBPROC epoxy_eglGetConfigAttrib = epoxy_eglGetConfigAttrib_global_rewrite_ptr;
5592 
5593 PFNEGLGETCONFIGSPROC epoxy_eglGetConfigs = epoxy_eglGetConfigs_global_rewrite_ptr;
5594 
5595 PFNEGLGETCURRENTCONTEXTPROC epoxy_eglGetCurrentContext = epoxy_eglGetCurrentContext_global_rewrite_ptr;
5596 
5597 PFNEGLGETCURRENTDISPLAYPROC epoxy_eglGetCurrentDisplay = epoxy_eglGetCurrentDisplay_global_rewrite_ptr;
5598 
5599 PFNEGLGETCURRENTSURFACEPROC epoxy_eglGetCurrentSurface = epoxy_eglGetCurrentSurface_global_rewrite_ptr;
5600 
5601 PFNEGLGETDISPLAYPROC epoxy_eglGetDisplay = epoxy_eglGetDisplay_global_rewrite_ptr;
5602 
5603 PFNEGLGETDISPLAYDRIVERCONFIGPROC epoxy_eglGetDisplayDriverConfig = epoxy_eglGetDisplayDriverConfig_global_rewrite_ptr;
5604 
5605 PFNEGLGETDISPLAYDRIVERNAMEPROC epoxy_eglGetDisplayDriverName = epoxy_eglGetDisplayDriverName_global_rewrite_ptr;
5606 
5607 PFNEGLGETERRORPROC epoxy_eglGetError = epoxy_eglGetError_global_rewrite_ptr;
5608 
5609 PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC epoxy_eglGetFrameTimestampSupportedANDROID = epoxy_eglGetFrameTimestampSupportedANDROID_global_rewrite_ptr;
5610 
5611 PFNEGLGETFRAMETIMESTAMPSANDROIDPROC epoxy_eglGetFrameTimestampsANDROID = epoxy_eglGetFrameTimestampsANDROID_global_rewrite_ptr;
5612 
5613 PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC epoxy_eglGetNativeClientBufferANDROID = epoxy_eglGetNativeClientBufferANDROID_global_rewrite_ptr;
5614 
5615 PFNEGLGETNEXTFRAMEIDANDROIDPROC epoxy_eglGetNextFrameIdANDROID = epoxy_eglGetNextFrameIdANDROID_global_rewrite_ptr;
5616 
5617 PFNEGLGETOUTPUTLAYERSEXTPROC epoxy_eglGetOutputLayersEXT = epoxy_eglGetOutputLayersEXT_global_rewrite_ptr;
5618 
5619 PFNEGLGETOUTPUTPORTSEXTPROC epoxy_eglGetOutputPortsEXT = epoxy_eglGetOutputPortsEXT_global_rewrite_ptr;
5620 
5621 PFNEGLGETPLATFORMDISPLAYPROC epoxy_eglGetPlatformDisplay = epoxy_eglGetPlatformDisplay_global_rewrite_ptr;
5622 
5623 PFNEGLGETPLATFORMDISPLAYEXTPROC epoxy_eglGetPlatformDisplayEXT = epoxy_eglGetPlatformDisplayEXT_global_rewrite_ptr;
5624 
5625 PFNEGLGETPROCADDRESSPROC epoxy_eglGetProcAddress = epoxy_eglGetProcAddress_global_rewrite_ptr;
5626 
5627 PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC epoxy_eglGetStreamFileDescriptorKHR = epoxy_eglGetStreamFileDescriptorKHR_global_rewrite_ptr;
5628 
5629 PFNEGLGETSYNCATTRIBPROC epoxy_eglGetSyncAttrib = epoxy_eglGetSyncAttrib_global_rewrite_ptr;
5630 
5631 PFNEGLGETSYNCATTRIBKHRPROC epoxy_eglGetSyncAttribKHR = epoxy_eglGetSyncAttribKHR_global_rewrite_ptr;
5632 
5633 PFNEGLGETSYNCATTRIBNVPROC epoxy_eglGetSyncAttribNV = epoxy_eglGetSyncAttribNV_global_rewrite_ptr;
5634 
5635 PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC epoxy_eglGetSystemTimeFrequencyNV = epoxy_eglGetSystemTimeFrequencyNV_global_rewrite_ptr;
5636 
5637 PFNEGLGETSYSTEMTIMENVPROC epoxy_eglGetSystemTimeNV = epoxy_eglGetSystemTimeNV_global_rewrite_ptr;
5638 
5639 PFNEGLINITIALIZEPROC epoxy_eglInitialize = epoxy_eglInitialize_global_rewrite_ptr;
5640 
5641 PFNEGLLABELOBJECTKHRPROC epoxy_eglLabelObjectKHR = epoxy_eglLabelObjectKHR_global_rewrite_ptr;
5642 
5643 PFNEGLLOCKSURFACEKHRPROC epoxy_eglLockSurfaceKHR = epoxy_eglLockSurfaceKHR_global_rewrite_ptr;
5644 
5645 PFNEGLMAKECURRENTPROC epoxy_eglMakeCurrent = epoxy_eglMakeCurrent_global_rewrite_ptr;
5646 
5647 PFNEGLOUTPUTLAYERATTRIBEXTPROC epoxy_eglOutputLayerAttribEXT = epoxy_eglOutputLayerAttribEXT_global_rewrite_ptr;
5648 
5649 PFNEGLOUTPUTPORTATTRIBEXTPROC epoxy_eglOutputPortAttribEXT = epoxy_eglOutputPortAttribEXT_global_rewrite_ptr;
5650 
5651 PFNEGLPOSTSUBBUFFERNVPROC epoxy_eglPostSubBufferNV = epoxy_eglPostSubBufferNV_global_rewrite_ptr;
5652 
5653 PFNEGLPRESENTATIONTIMEANDROIDPROC epoxy_eglPresentationTimeANDROID = epoxy_eglPresentationTimeANDROID_global_rewrite_ptr;
5654 
5655 PFNEGLQUERYAPIPROC epoxy_eglQueryAPI = epoxy_eglQueryAPI_global_rewrite_ptr;
5656 
5657 PFNEGLQUERYCONTEXTPROC epoxy_eglQueryContext = epoxy_eglQueryContext_global_rewrite_ptr;
5658 
5659 PFNEGLQUERYDEBUGKHRPROC epoxy_eglQueryDebugKHR = epoxy_eglQueryDebugKHR_global_rewrite_ptr;
5660 
5661 PFNEGLQUERYDEVICEATTRIBEXTPROC epoxy_eglQueryDeviceAttribEXT = epoxy_eglQueryDeviceAttribEXT_global_rewrite_ptr;
5662 
5663 PFNEGLQUERYDEVICESTRINGEXTPROC epoxy_eglQueryDeviceStringEXT = epoxy_eglQueryDeviceStringEXT_global_rewrite_ptr;
5664 
5665 PFNEGLQUERYDEVICESEXTPROC epoxy_eglQueryDevicesEXT = epoxy_eglQueryDevicesEXT_global_rewrite_ptr;
5666 
5667 PFNEGLQUERYDISPLAYATTRIBEXTPROC epoxy_eglQueryDisplayAttribEXT = epoxy_eglQueryDisplayAttribEXT_global_rewrite_ptr;
5668 
5669 PFNEGLQUERYDISPLAYATTRIBKHRPROC epoxy_eglQueryDisplayAttribKHR = epoxy_eglQueryDisplayAttribKHR_global_rewrite_ptr;
5670 
5671 PFNEGLQUERYDISPLAYATTRIBNVPROC epoxy_eglQueryDisplayAttribNV = epoxy_eglQueryDisplayAttribNV_global_rewrite_ptr;
5672 
5673 PFNEGLQUERYDMABUFFORMATSEXTPROC epoxy_eglQueryDmaBufFormatsEXT = epoxy_eglQueryDmaBufFormatsEXT_global_rewrite_ptr;
5674 
5675 PFNEGLQUERYDMABUFMODIFIERSEXTPROC epoxy_eglQueryDmaBufModifiersEXT = epoxy_eglQueryDmaBufModifiersEXT_global_rewrite_ptr;
5676 
5677 PFNEGLQUERYNATIVEDISPLAYNVPROC epoxy_eglQueryNativeDisplayNV = epoxy_eglQueryNativeDisplayNV_global_rewrite_ptr;
5678 
5679 PFNEGLQUERYNATIVEPIXMAPNVPROC epoxy_eglQueryNativePixmapNV = epoxy_eglQueryNativePixmapNV_global_rewrite_ptr;
5680 
5681 PFNEGLQUERYNATIVEWINDOWNVPROC epoxy_eglQueryNativeWindowNV = epoxy_eglQueryNativeWindowNV_global_rewrite_ptr;
5682 
5683 PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC epoxy_eglQueryOutputLayerAttribEXT = epoxy_eglQueryOutputLayerAttribEXT_global_rewrite_ptr;
5684 
5685 PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC epoxy_eglQueryOutputLayerStringEXT = epoxy_eglQueryOutputLayerStringEXT_global_rewrite_ptr;
5686 
5687 PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC epoxy_eglQueryOutputPortAttribEXT = epoxy_eglQueryOutputPortAttribEXT_global_rewrite_ptr;
5688 
5689 PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC epoxy_eglQueryOutputPortStringEXT = epoxy_eglQueryOutputPortStringEXT_global_rewrite_ptr;
5690 
5691 PFNEGLQUERYSTREAMATTRIBKHRPROC epoxy_eglQueryStreamAttribKHR = epoxy_eglQueryStreamAttribKHR_global_rewrite_ptr;
5692 
5693 PFNEGLQUERYSTREAMKHRPROC epoxy_eglQueryStreamKHR = epoxy_eglQueryStreamKHR_global_rewrite_ptr;
5694 
5695 PFNEGLQUERYSTREAMMETADATANVPROC epoxy_eglQueryStreamMetadataNV = epoxy_eglQueryStreamMetadataNV_global_rewrite_ptr;
5696 
5697 PFNEGLQUERYSTREAMTIMEKHRPROC epoxy_eglQueryStreamTimeKHR = epoxy_eglQueryStreamTimeKHR_global_rewrite_ptr;
5698 
5699 PFNEGLQUERYSTREAMU64KHRPROC epoxy_eglQueryStreamu64KHR = epoxy_eglQueryStreamu64KHR_global_rewrite_ptr;
5700 
5701 PFNEGLQUERYSTRINGPROC epoxy_eglQueryString = epoxy_eglQueryString_global_rewrite_ptr;
5702 
5703 PFNEGLQUERYSURFACEPROC epoxy_eglQuerySurface = epoxy_eglQuerySurface_global_rewrite_ptr;
5704 
5705 PFNEGLQUERYSURFACE64KHRPROC epoxy_eglQuerySurface64KHR = epoxy_eglQuerySurface64KHR_global_rewrite_ptr;
5706 
5707 PFNEGLQUERYSURFACEPOINTERANGLEPROC epoxy_eglQuerySurfacePointerANGLE = epoxy_eglQuerySurfacePointerANGLE_global_rewrite_ptr;
5708 
5709 PFNEGLRELEASETEXIMAGEPROC epoxy_eglReleaseTexImage = epoxy_eglReleaseTexImage_global_rewrite_ptr;
5710 
5711 PFNEGLRELEASETHREADPROC epoxy_eglReleaseThread = epoxy_eglReleaseThread_global_rewrite_ptr;
5712 
5713 PFNEGLRESETSTREAMNVPROC epoxy_eglResetStreamNV = epoxy_eglResetStreamNV_global_rewrite_ptr;
5714 
5715 PFNEGLSETBLOBCACHEFUNCSANDROIDPROC epoxy_eglSetBlobCacheFuncsANDROID = epoxy_eglSetBlobCacheFuncsANDROID_global_rewrite_ptr;
5716 
5717 PFNEGLSETDAMAGEREGIONKHRPROC epoxy_eglSetDamageRegionKHR = epoxy_eglSetDamageRegionKHR_global_rewrite_ptr;
5718 
5719 PFNEGLSETSTREAMATTRIBKHRPROC epoxy_eglSetStreamAttribKHR = epoxy_eglSetStreamAttribKHR_global_rewrite_ptr;
5720 
5721 PFNEGLSETSTREAMMETADATANVPROC epoxy_eglSetStreamMetadataNV = epoxy_eglSetStreamMetadataNV_global_rewrite_ptr;
5722 
5723 PFNEGLSIGNALSYNCKHRPROC epoxy_eglSignalSyncKHR = epoxy_eglSignalSyncKHR_global_rewrite_ptr;
5724 
5725 PFNEGLSIGNALSYNCNVPROC epoxy_eglSignalSyncNV = epoxy_eglSignalSyncNV_global_rewrite_ptr;
5726 
5727 PFNEGLSTREAMATTRIBKHRPROC epoxy_eglStreamAttribKHR = epoxy_eglStreamAttribKHR_global_rewrite_ptr;
5728 
5729 PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC epoxy_eglStreamConsumerAcquireAttribKHR = epoxy_eglStreamConsumerAcquireAttribKHR_global_rewrite_ptr;
5730 
5731 PFNEGLSTREAMCONSUMERACQUIREKHRPROC epoxy_eglStreamConsumerAcquireKHR = epoxy_eglStreamConsumerAcquireKHR_global_rewrite_ptr;
5732 
5733 PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC epoxy_eglStreamConsumerGLTextureExternalAttribsNV = epoxy_eglStreamConsumerGLTextureExternalAttribsNV_global_rewrite_ptr;
5734 
5735 PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC epoxy_eglStreamConsumerGLTextureExternalKHR = epoxy_eglStreamConsumerGLTextureExternalKHR_global_rewrite_ptr;
5736 
5737 PFNEGLSTREAMCONSUMEROUTPUTEXTPROC epoxy_eglStreamConsumerOutputEXT = epoxy_eglStreamConsumerOutputEXT_global_rewrite_ptr;
5738 
5739 PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC epoxy_eglStreamConsumerReleaseAttribKHR = epoxy_eglStreamConsumerReleaseAttribKHR_global_rewrite_ptr;
5740 
5741 PFNEGLSTREAMCONSUMERRELEASEKHRPROC epoxy_eglStreamConsumerReleaseKHR = epoxy_eglStreamConsumerReleaseKHR_global_rewrite_ptr;
5742 
5743 PFNEGLSTREAMFLUSHNVPROC epoxy_eglStreamFlushNV = epoxy_eglStreamFlushNV_global_rewrite_ptr;
5744 
5745 PFNEGLSURFACEATTRIBPROC epoxy_eglSurfaceAttrib = epoxy_eglSurfaceAttrib_global_rewrite_ptr;
5746 
5747 PFNEGLSWAPBUFFERSPROC epoxy_eglSwapBuffers = epoxy_eglSwapBuffers_global_rewrite_ptr;
5748 
5749 PFNEGLSWAPBUFFERSREGION2NOKPROC epoxy_eglSwapBuffersRegion2NOK = epoxy_eglSwapBuffersRegion2NOK_global_rewrite_ptr;
5750 
5751 PFNEGLSWAPBUFFERSREGIONNOKPROC epoxy_eglSwapBuffersRegionNOK = epoxy_eglSwapBuffersRegionNOK_global_rewrite_ptr;
5752 
5753 PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC epoxy_eglSwapBuffersWithDamageEXT = epoxy_eglSwapBuffersWithDamageEXT_global_rewrite_ptr;
5754 
5755 PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC epoxy_eglSwapBuffersWithDamageKHR = epoxy_eglSwapBuffersWithDamageKHR_global_rewrite_ptr;
5756 
5757 PFNEGLSWAPINTERVALPROC epoxy_eglSwapInterval = epoxy_eglSwapInterval_global_rewrite_ptr;
5758 
5759 PFNEGLTERMINATEPROC epoxy_eglTerminate = epoxy_eglTerminate_global_rewrite_ptr;
5760 
5761 PFNEGLUNLOCKSURFACEKHRPROC epoxy_eglUnlockSurfaceKHR = epoxy_eglUnlockSurfaceKHR_global_rewrite_ptr;
5762 
5763 PFNEGLUNSIGNALSYNCEXTPROC epoxy_eglUnsignalSyncEXT = epoxy_eglUnsignalSyncEXT_global_rewrite_ptr;
5764 
5765 PFNEGLWAITCLIENTPROC epoxy_eglWaitClient = epoxy_eglWaitClient_global_rewrite_ptr;
5766 
5767 PFNEGLWAITGLPROC epoxy_eglWaitGL = epoxy_eglWaitGL_global_rewrite_ptr;
5768 
5769 PFNEGLWAITNATIVEPROC epoxy_eglWaitNative = epoxy_eglWaitNative_global_rewrite_ptr;
5770 
5771 PFNEGLWAITSYNCPROC epoxy_eglWaitSync = epoxy_eglWaitSync_global_rewrite_ptr;
5772 
5773 PFNEGLWAITSYNCKHRPROC epoxy_eglWaitSyncKHR = epoxy_eglWaitSyncKHR_global_rewrite_ptr;
5774 
5775