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