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