egl_generated_dispatch.c revision e84fe556
1e84fe556Smrg/* GL dispatch code.
2e84fe556Smrg * This is code-generated from the GL API XML files from Khronos.
3e84fe556Smrg */
4e84fe556Smrg
5e84fe556Smrg#include <stdlib.h>
6e84fe556Smrg#include <string.h>
7e84fe556Smrg#include <stdio.h>
8e84fe556Smrg
9e84fe556Smrg#include "dispatch_common.h"
10e84fe556Smrg#include "epoxy/egl.h"
11e84fe556Smrg
12e84fe556Smrg#ifdef __GNUC__
13e84fe556Smrg#define EPOXY_NOINLINE __attribute__((noinline))
14e84fe556Smrg#elif defined (_MSC_VER)
15e84fe556Smrg#define EPOXY_NOINLINE __declspec(noinline)
16e84fe556Smrg#endif
17e84fe556Smrgstruct dispatch_table {
18e84fe556Smrg    PFNEGLBINDAPIPROC epoxy_eglBindAPI;
19e84fe556Smrg    PFNEGLBINDTEXIMAGEPROC epoxy_eglBindTexImage;
20e84fe556Smrg    PFNEGLCHOOSECONFIGPROC epoxy_eglChooseConfig;
21e84fe556Smrg    PFNEGLCLIENTWAITSYNCPROC epoxy_eglClientWaitSync;
22e84fe556Smrg    PFNEGLCLIENTWAITSYNCKHRPROC epoxy_eglClientWaitSyncKHR;
23e84fe556Smrg    PFNEGLCLIENTWAITSYNCNVPROC epoxy_eglClientWaitSyncNV;
24e84fe556Smrg    PFNEGLCOPYBUFFERSPROC epoxy_eglCopyBuffers;
25e84fe556Smrg    PFNEGLCREATECONTEXTPROC epoxy_eglCreateContext;
26e84fe556Smrg    PFNEGLCREATEDRMIMAGEMESAPROC epoxy_eglCreateDRMImageMESA;
27e84fe556Smrg    PFNEGLCREATEFENCESYNCNVPROC epoxy_eglCreateFenceSyncNV;
28e84fe556Smrg    PFNEGLCREATEIMAGEPROC epoxy_eglCreateImage;
29e84fe556Smrg    PFNEGLCREATEIMAGEKHRPROC epoxy_eglCreateImageKHR;
30e84fe556Smrg    PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC epoxy_eglCreatePbufferFromClientBuffer;
31e84fe556Smrg    PFNEGLCREATEPBUFFERSURFACEPROC epoxy_eglCreatePbufferSurface;
32e84fe556Smrg    PFNEGLCREATEPIXMAPSURFACEPROC epoxy_eglCreatePixmapSurface;
33e84fe556Smrg    PFNEGLCREATEPIXMAPSURFACEHIPROC epoxy_eglCreatePixmapSurfaceHI;
34e84fe556Smrg    PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC epoxy_eglCreatePlatformPixmapSurface;
35e84fe556Smrg    PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC epoxy_eglCreatePlatformPixmapSurfaceEXT;
36e84fe556Smrg    PFNEGLCREATEPLATFORMWINDOWSURFACEPROC epoxy_eglCreatePlatformWindowSurface;
37e84fe556Smrg    PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC epoxy_eglCreatePlatformWindowSurfaceEXT;
38e84fe556Smrg    PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC epoxy_eglCreateStreamFromFileDescriptorKHR;
39e84fe556Smrg    PFNEGLCREATESTREAMKHRPROC epoxy_eglCreateStreamKHR;
40e84fe556Smrg    PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC epoxy_eglCreateStreamProducerSurfaceKHR;
41e84fe556Smrg    PFNEGLCREATESTREAMSYNCNVPROC epoxy_eglCreateStreamSyncNV;
42e84fe556Smrg    PFNEGLCREATESYNCPROC epoxy_eglCreateSync;
43e84fe556Smrg    PFNEGLCREATESYNC64KHRPROC epoxy_eglCreateSync64KHR;
44e84fe556Smrg    PFNEGLCREATESYNCKHRPROC epoxy_eglCreateSyncKHR;
45e84fe556Smrg    PFNEGLCREATEWINDOWSURFACEPROC epoxy_eglCreateWindowSurface;
46e84fe556Smrg    PFNEGLDESTROYCONTEXTPROC epoxy_eglDestroyContext;
47e84fe556Smrg    PFNEGLDESTROYIMAGEPROC epoxy_eglDestroyImage;
48e84fe556Smrg    PFNEGLDESTROYIMAGEKHRPROC epoxy_eglDestroyImageKHR;
49e84fe556Smrg    PFNEGLDESTROYSTREAMKHRPROC epoxy_eglDestroyStreamKHR;
50e84fe556Smrg    PFNEGLDESTROYSURFACEPROC epoxy_eglDestroySurface;
51e84fe556Smrg    PFNEGLDESTROYSYNCPROC epoxy_eglDestroySync;
52e84fe556Smrg    PFNEGLDESTROYSYNCKHRPROC epoxy_eglDestroySyncKHR;
53e84fe556Smrg    PFNEGLDESTROYSYNCNVPROC epoxy_eglDestroySyncNV;
54e84fe556Smrg    PFNEGLDUPNATIVEFENCEFDANDROIDPROC epoxy_eglDupNativeFenceFDANDROID;
55e84fe556Smrg    PFNEGLEXPORTDMABUFIMAGEMESAPROC epoxy_eglExportDMABUFImageMESA;
56e84fe556Smrg    PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC epoxy_eglExportDMABUFImageQueryMESA;
57e84fe556Smrg    PFNEGLEXPORTDRMIMAGEMESAPROC epoxy_eglExportDRMImageMESA;
58e84fe556Smrg    PFNEGLFENCENVPROC epoxy_eglFenceNV;
59e84fe556Smrg    PFNEGLGETCONFIGATTRIBPROC epoxy_eglGetConfigAttrib;
60e84fe556Smrg    PFNEGLGETCONFIGSPROC epoxy_eglGetConfigs;
61e84fe556Smrg    PFNEGLGETCURRENTCONTEXTPROC epoxy_eglGetCurrentContext;
62e84fe556Smrg    PFNEGLGETCURRENTDISPLAYPROC epoxy_eglGetCurrentDisplay;
63e84fe556Smrg    PFNEGLGETCURRENTSURFACEPROC epoxy_eglGetCurrentSurface;
64e84fe556Smrg    PFNEGLGETDISPLAYPROC epoxy_eglGetDisplay;
65e84fe556Smrg    PFNEGLGETERRORPROC epoxy_eglGetError;
66e84fe556Smrg    PFNEGLGETOUTPUTLAYERSEXTPROC epoxy_eglGetOutputLayersEXT;
67e84fe556Smrg    PFNEGLGETOUTPUTPORTSEXTPROC epoxy_eglGetOutputPortsEXT;
68e84fe556Smrg    PFNEGLGETPLATFORMDISPLAYPROC epoxy_eglGetPlatformDisplay;
69e84fe556Smrg    PFNEGLGETPLATFORMDISPLAYEXTPROC epoxy_eglGetPlatformDisplayEXT;
70e84fe556Smrg    PFNEGLGETPROCADDRESSPROC epoxy_eglGetProcAddress;
71e84fe556Smrg    PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC epoxy_eglGetStreamFileDescriptorKHR;
72e84fe556Smrg    PFNEGLGETSYNCATTRIBPROC epoxy_eglGetSyncAttrib;
73e84fe556Smrg    PFNEGLGETSYNCATTRIBKHRPROC epoxy_eglGetSyncAttribKHR;
74e84fe556Smrg    PFNEGLGETSYNCATTRIBNVPROC epoxy_eglGetSyncAttribNV;
75e84fe556Smrg    PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC epoxy_eglGetSystemTimeFrequencyNV;
76e84fe556Smrg    PFNEGLGETSYSTEMTIMENVPROC epoxy_eglGetSystemTimeNV;
77e84fe556Smrg    PFNEGLINITIALIZEPROC epoxy_eglInitialize;
78e84fe556Smrg    PFNEGLLOCKSURFACEKHRPROC epoxy_eglLockSurfaceKHR;
79e84fe556Smrg    PFNEGLMAKECURRENTPROC epoxy_eglMakeCurrent;
80e84fe556Smrg    PFNEGLOUTPUTLAYERATTRIBEXTPROC epoxy_eglOutputLayerAttribEXT;
81e84fe556Smrg    PFNEGLOUTPUTPORTATTRIBEXTPROC epoxy_eglOutputPortAttribEXT;
82e84fe556Smrg    PFNEGLPOSTSUBBUFFERNVPROC epoxy_eglPostSubBufferNV;
83e84fe556Smrg    PFNEGLQUERYAPIPROC epoxy_eglQueryAPI;
84e84fe556Smrg    PFNEGLQUERYCONTEXTPROC epoxy_eglQueryContext;
85e84fe556Smrg    PFNEGLQUERYDEVICEATTRIBEXTPROC epoxy_eglQueryDeviceAttribEXT;
86e84fe556Smrg    PFNEGLQUERYDEVICESTRINGEXTPROC epoxy_eglQueryDeviceStringEXT;
87e84fe556Smrg    PFNEGLQUERYDEVICESEXTPROC epoxy_eglQueryDevicesEXT;
88e84fe556Smrg    PFNEGLQUERYDISPLAYATTRIBEXTPROC epoxy_eglQueryDisplayAttribEXT;
89e84fe556Smrg    PFNEGLQUERYNATIVEDISPLAYNVPROC epoxy_eglQueryNativeDisplayNV;
90e84fe556Smrg    PFNEGLQUERYNATIVEPIXMAPNVPROC epoxy_eglQueryNativePixmapNV;
91e84fe556Smrg    PFNEGLQUERYNATIVEWINDOWNVPROC epoxy_eglQueryNativeWindowNV;
92e84fe556Smrg    PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC epoxy_eglQueryOutputLayerAttribEXT;
93e84fe556Smrg    PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC epoxy_eglQueryOutputLayerStringEXT;
94e84fe556Smrg    PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC epoxy_eglQueryOutputPortAttribEXT;
95e84fe556Smrg    PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC epoxy_eglQueryOutputPortStringEXT;
96e84fe556Smrg    PFNEGLQUERYSTREAMKHRPROC epoxy_eglQueryStreamKHR;
97e84fe556Smrg    PFNEGLQUERYSTREAMTIMEKHRPROC epoxy_eglQueryStreamTimeKHR;
98e84fe556Smrg    PFNEGLQUERYSTREAMU64KHRPROC epoxy_eglQueryStreamu64KHR;
99e84fe556Smrg    PFNEGLQUERYSTRINGPROC epoxy_eglQueryString;
100e84fe556Smrg    PFNEGLQUERYSURFACEPROC epoxy_eglQuerySurface;
101e84fe556Smrg    PFNEGLQUERYSURFACE64KHRPROC epoxy_eglQuerySurface64KHR;
102e84fe556Smrg    PFNEGLQUERYSURFACEPOINTERANGLEPROC epoxy_eglQuerySurfacePointerANGLE;
103e84fe556Smrg    PFNEGLRELEASETEXIMAGEPROC epoxy_eglReleaseTexImage;
104e84fe556Smrg    PFNEGLRELEASETHREADPROC epoxy_eglReleaseThread;
105e84fe556Smrg    PFNEGLSETBLOBCACHEFUNCSANDROIDPROC epoxy_eglSetBlobCacheFuncsANDROID;
106e84fe556Smrg    PFNEGLSETDAMAGEREGIONKHRPROC epoxy_eglSetDamageRegionKHR;
107e84fe556Smrg    PFNEGLSIGNALSYNCKHRPROC epoxy_eglSignalSyncKHR;
108e84fe556Smrg    PFNEGLSIGNALSYNCNVPROC epoxy_eglSignalSyncNV;
109e84fe556Smrg    PFNEGLSTREAMATTRIBKHRPROC epoxy_eglStreamAttribKHR;
110e84fe556Smrg    PFNEGLSTREAMCONSUMERACQUIREKHRPROC epoxy_eglStreamConsumerAcquireKHR;
111e84fe556Smrg    PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC epoxy_eglStreamConsumerGLTextureExternalKHR;
112e84fe556Smrg    PFNEGLSTREAMCONSUMEROUTPUTEXTPROC epoxy_eglStreamConsumerOutputEXT;
113e84fe556Smrg    PFNEGLSTREAMCONSUMERRELEASEKHRPROC epoxy_eglStreamConsumerReleaseKHR;
114e84fe556Smrg    PFNEGLSURFACEATTRIBPROC epoxy_eglSurfaceAttrib;
115e84fe556Smrg    PFNEGLSWAPBUFFERSPROC epoxy_eglSwapBuffers;
116e84fe556Smrg    PFNEGLSWAPBUFFERSREGION2NOKPROC epoxy_eglSwapBuffersRegion2NOK;
117e84fe556Smrg    PFNEGLSWAPBUFFERSREGIONNOKPROC epoxy_eglSwapBuffersRegionNOK;
118e84fe556Smrg    PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC epoxy_eglSwapBuffersWithDamageEXT;
119e84fe556Smrg    PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC epoxy_eglSwapBuffersWithDamageKHR;
120e84fe556Smrg    PFNEGLSWAPINTERVALPROC epoxy_eglSwapInterval;
121e84fe556Smrg    PFNEGLTERMINATEPROC epoxy_eglTerminate;
122e84fe556Smrg    PFNEGLUNLOCKSURFACEKHRPROC epoxy_eglUnlockSurfaceKHR;
123e84fe556Smrg    PFNEGLWAITCLIENTPROC epoxy_eglWaitClient;
124e84fe556Smrg    PFNEGLWAITGLPROC epoxy_eglWaitGL;
125e84fe556Smrg    PFNEGLWAITNATIVEPROC epoxy_eglWaitNative;
126e84fe556Smrg    PFNEGLWAITSYNCPROC epoxy_eglWaitSync;
127e84fe556Smrg    PFNEGLWAITSYNCKHRPROC epoxy_eglWaitSyncKHR;
128e84fe556Smrg};
129e84fe556Smrg
130e84fe556Smrg#if USING_DISPATCH_TABLE
131e84fe556Smrgstatic inline struct dispatch_table *
132e84fe556Smrgget_dispatch_table(void);
133e84fe556Smrg
134e84fe556Smrg#endif
135e84fe556Smrgenum egl_provider {
136e84fe556Smrg    egl_provider_terminator = 0,
137e84fe556Smrg    EGL_10,
138e84fe556Smrg    EGL_11,
139e84fe556Smrg    EGL_12,
140e84fe556Smrg    EGL_14,
141e84fe556Smrg    EGL_15,
142e84fe556Smrg    EGL_extension_EGL_ANDROID_blob_cache,
143e84fe556Smrg    EGL_extension_EGL_ANDROID_native_fence_sync,
144e84fe556Smrg    EGL_extension_EGL_ANGLE_query_surface_pointer,
145e84fe556Smrg    EGL_extension_EGL_EXT_device_base,
146e84fe556Smrg    EGL_extension_EGL_EXT_device_enumeration,
147e84fe556Smrg    EGL_extension_EGL_EXT_device_query,
148e84fe556Smrg    EGL_extension_EGL_EXT_output_base,
149e84fe556Smrg    EGL_extension_EGL_EXT_platform_base,
150e84fe556Smrg    EGL_extension_EGL_EXT_stream_consumer_egloutput,
151e84fe556Smrg    EGL_extension_EGL_EXT_swap_buffers_with_damage,
152e84fe556Smrg    EGL_extension_EGL_HI_clientpixmap,
153e84fe556Smrg    EGL_extension_EGL_KHR_cl_event2,
154e84fe556Smrg    EGL_extension_EGL_KHR_fence_sync,
155e84fe556Smrg    EGL_extension_EGL_KHR_image,
156e84fe556Smrg    EGL_extension_EGL_KHR_image_base,
157e84fe556Smrg    EGL_extension_EGL_KHR_lock_surface3,
158e84fe556Smrg    EGL_extension_EGL_KHR_lock_surface,
159e84fe556Smrg    EGL_extension_EGL_KHR_partial_update,
160e84fe556Smrg    EGL_extension_EGL_KHR_reusable_sync,
161e84fe556Smrg    EGL_extension_EGL_KHR_stream,
162e84fe556Smrg    EGL_extension_EGL_KHR_stream_consumer_gltexture,
163e84fe556Smrg    EGL_extension_EGL_KHR_stream_cross_process_fd,
164e84fe556Smrg    EGL_extension_EGL_KHR_stream_fifo,
165e84fe556Smrg    EGL_extension_EGL_KHR_stream_producer_eglsurface,
166e84fe556Smrg    EGL_extension_EGL_KHR_swap_buffers_with_damage,
167e84fe556Smrg    EGL_extension_EGL_KHR_wait_sync,
168e84fe556Smrg    EGL_extension_EGL_MESA_drm_image,
169e84fe556Smrg    EGL_extension_EGL_MESA_image_dma_buf_export,
170e84fe556Smrg    EGL_extension_EGL_NOK_swap_region2,
171e84fe556Smrg    EGL_extension_EGL_NOK_swap_region,
172e84fe556Smrg    EGL_extension_EGL_NV_native_query,
173e84fe556Smrg    EGL_extension_EGL_NV_post_sub_buffer,
174e84fe556Smrg    EGL_extension_EGL_NV_stream_sync,
175e84fe556Smrg    EGL_extension_EGL_NV_sync,
176e84fe556Smrg    EGL_extension_EGL_NV_system_time,
177e84fe556Smrg} PACKED;
178e84fe556Smrg
179e84fe556Smrgstatic const char *enum_string =
180e84fe556Smrg    "EGL 10\0"
181e84fe556Smrg    "EGL 11\0"
182e84fe556Smrg    "EGL 12\0"
183e84fe556Smrg    "EGL 14\0"
184e84fe556Smrg    "EGL 15\0"
185e84fe556Smrg    "EGL extension \"EGL_ANDROID_blob_cache\"\0"
186e84fe556Smrg    "EGL extension \"EGL_ANDROID_native_fence_sync\"\0"
187e84fe556Smrg    "EGL extension \"EGL_ANGLE_query_surface_pointer\"\0"
188e84fe556Smrg    "EGL extension \"EGL_EXT_device_base\"\0"
189e84fe556Smrg    "EGL extension \"EGL_EXT_device_enumeration\"\0"
190e84fe556Smrg    "EGL extension \"EGL_EXT_device_query\"\0"
191e84fe556Smrg    "EGL extension \"EGL_EXT_output_base\"\0"
192e84fe556Smrg    "EGL extension \"EGL_EXT_platform_base\"\0"
193e84fe556Smrg    "EGL extension \"EGL_EXT_stream_consumer_egloutput\"\0"
194e84fe556Smrg    "EGL extension \"EGL_EXT_swap_buffers_with_damage\"\0"
195e84fe556Smrg    "EGL extension \"EGL_HI_clientpixmap\"\0"
196e84fe556Smrg    "EGL extension \"EGL_KHR_cl_event2\"\0"
197e84fe556Smrg    "EGL extension \"EGL_KHR_fence_sync\"\0"
198e84fe556Smrg    "EGL extension \"EGL_KHR_image\"\0"
199e84fe556Smrg    "EGL extension \"EGL_KHR_image_base\"\0"
200e84fe556Smrg    "EGL extension \"EGL_KHR_lock_surface3\"\0"
201e84fe556Smrg    "EGL extension \"EGL_KHR_lock_surface\"\0"
202e84fe556Smrg    "EGL extension \"EGL_KHR_partial_update\"\0"
203e84fe556Smrg    "EGL extension \"EGL_KHR_reusable_sync\"\0"
204e84fe556Smrg    "EGL extension \"EGL_KHR_stream\"\0"
205e84fe556Smrg    "EGL extension \"EGL_KHR_stream_consumer_gltexture\"\0"
206e84fe556Smrg    "EGL extension \"EGL_KHR_stream_cross_process_fd\"\0"
207e84fe556Smrg    "EGL extension \"EGL_KHR_stream_fifo\"\0"
208e84fe556Smrg    "EGL extension \"EGL_KHR_stream_producer_eglsurface\"\0"
209e84fe556Smrg    "EGL extension \"EGL_KHR_swap_buffers_with_damage\"\0"
210e84fe556Smrg    "EGL extension \"EGL_KHR_wait_sync\"\0"
211e84fe556Smrg    "EGL extension \"EGL_MESA_drm_image\"\0"
212e84fe556Smrg    "EGL extension \"EGL_MESA_image_dma_buf_export\"\0"
213e84fe556Smrg    "EGL extension \"EGL_NOK_swap_region2\"\0"
214e84fe556Smrg    "EGL extension \"EGL_NOK_swap_region\"\0"
215e84fe556Smrg    "EGL extension \"EGL_NV_native_query\"\0"
216e84fe556Smrg    "EGL extension \"EGL_NV_post_sub_buffer\"\0"
217e84fe556Smrg    "EGL extension \"EGL_NV_stream_sync\"\0"
218e84fe556Smrg    "EGL extension \"EGL_NV_sync\"\0"
219e84fe556Smrg    "EGL extension \"EGL_NV_system_time\"\0"
220e84fe556Smrg     ;
221e84fe556Smrg
222e84fe556Smrgstatic const uint16_t enum_string_offsets[] = {
223e84fe556Smrg    [EGL_10] = 0,
224e84fe556Smrg    [EGL_11] = 7,
225e84fe556Smrg    [EGL_12] = 14,
226e84fe556Smrg    [EGL_14] = 21,
227e84fe556Smrg    [EGL_15] = 28,
228e84fe556Smrg    [EGL_extension_EGL_ANDROID_blob_cache] = 35,
229e84fe556Smrg    [EGL_extension_EGL_ANDROID_native_fence_sync] = 74,
230e84fe556Smrg    [EGL_extension_EGL_ANGLE_query_surface_pointer] = 120,
231e84fe556Smrg    [EGL_extension_EGL_EXT_device_base] = 168,
232e84fe556Smrg    [EGL_extension_EGL_EXT_device_enumeration] = 204,
233e84fe556Smrg    [EGL_extension_EGL_EXT_device_query] = 247,
234e84fe556Smrg    [EGL_extension_EGL_EXT_output_base] = 284,
235e84fe556Smrg    [EGL_extension_EGL_EXT_platform_base] = 320,
236e84fe556Smrg    [EGL_extension_EGL_EXT_stream_consumer_egloutput] = 358,
237e84fe556Smrg    [EGL_extension_EGL_EXT_swap_buffers_with_damage] = 408,
238e84fe556Smrg    [EGL_extension_EGL_HI_clientpixmap] = 457,
239e84fe556Smrg    [EGL_extension_EGL_KHR_cl_event2] = 493,
240e84fe556Smrg    [EGL_extension_EGL_KHR_fence_sync] = 527,
241e84fe556Smrg    [EGL_extension_EGL_KHR_image] = 562,
242e84fe556Smrg    [EGL_extension_EGL_KHR_image_base] = 592,
243e84fe556Smrg    [EGL_extension_EGL_KHR_lock_surface3] = 627,
244e84fe556Smrg    [EGL_extension_EGL_KHR_lock_surface] = 665,
245e84fe556Smrg    [EGL_extension_EGL_KHR_partial_update] = 702,
246e84fe556Smrg    [EGL_extension_EGL_KHR_reusable_sync] = 741,
247e84fe556Smrg    [EGL_extension_EGL_KHR_stream] = 779,
248e84fe556Smrg    [EGL_extension_EGL_KHR_stream_consumer_gltexture] = 810,
249e84fe556Smrg    [EGL_extension_EGL_KHR_stream_cross_process_fd] = 860,
250e84fe556Smrg    [EGL_extension_EGL_KHR_stream_fifo] = 908,
251e84fe556Smrg    [EGL_extension_EGL_KHR_stream_producer_eglsurface] = 944,
252e84fe556Smrg    [EGL_extension_EGL_KHR_swap_buffers_with_damage] = 995,
253e84fe556Smrg    [EGL_extension_EGL_KHR_wait_sync] = 1044,
254e84fe556Smrg    [EGL_extension_EGL_MESA_drm_image] = 1078,
255e84fe556Smrg    [EGL_extension_EGL_MESA_image_dma_buf_export] = 1113,
256e84fe556Smrg    [EGL_extension_EGL_NOK_swap_region2] = 1159,
257e84fe556Smrg    [EGL_extension_EGL_NOK_swap_region] = 1196,
258e84fe556Smrg    [EGL_extension_EGL_NV_native_query] = 1232,
259e84fe556Smrg    [EGL_extension_EGL_NV_post_sub_buffer] = 1268,
260e84fe556Smrg    [EGL_extension_EGL_NV_stream_sync] = 1307,
261e84fe556Smrg    [EGL_extension_EGL_NV_sync] = 1342,
262e84fe556Smrg    [EGL_extension_EGL_NV_system_time] = 1370,
263e84fe556Smrg};
264e84fe556Smrg
265e84fe556Smrgstatic const char entrypoint_strings[] =
266e84fe556Smrg   "eglBindAPI\0"
267e84fe556Smrg   "eglBindTexImage\0"
268e84fe556Smrg   "eglChooseConfig\0"
269e84fe556Smrg   "eglClientWaitSync\0"
270e84fe556Smrg   "eglClientWaitSyncKHR\0"
271e84fe556Smrg   "eglClientWaitSyncNV\0"
272e84fe556Smrg   "eglCopyBuffers\0"
273e84fe556Smrg   "eglCreateContext\0"
274e84fe556Smrg   "eglCreateDRMImageMESA\0"
275e84fe556Smrg   "eglCreateFenceSyncNV\0"
276e84fe556Smrg   "eglCreateImage\0"
277e84fe556Smrg   "eglCreateImageKHR\0"
278e84fe556Smrg   "eglCreatePbufferFromClientBuffer\0"
279e84fe556Smrg   "eglCreatePbufferSurface\0"
280e84fe556Smrg   "eglCreatePixmapSurface\0"
281e84fe556Smrg   "eglCreatePixmapSurfaceHI\0"
282e84fe556Smrg   "eglCreatePlatformPixmapSurface\0"
283e84fe556Smrg   "eglCreatePlatformPixmapSurfaceEXT\0"
284e84fe556Smrg   "eglCreatePlatformWindowSurface\0"
285e84fe556Smrg   "eglCreatePlatformWindowSurfaceEXT\0"
286e84fe556Smrg   "eglCreateStreamFromFileDescriptorKHR\0"
287e84fe556Smrg   "eglCreateStreamKHR\0"
288e84fe556Smrg   "eglCreateStreamProducerSurfaceKHR\0"
289e84fe556Smrg   "eglCreateStreamSyncNV\0"
290e84fe556Smrg   "eglCreateSync\0"
291e84fe556Smrg   "eglCreateSync64KHR\0"
292e84fe556Smrg   "eglCreateSyncKHR\0"
293e84fe556Smrg   "eglCreateWindowSurface\0"
294e84fe556Smrg   "eglDestroyContext\0"
295e84fe556Smrg   "eglDestroyImage\0"
296e84fe556Smrg   "eglDestroyImageKHR\0"
297e84fe556Smrg   "eglDestroyStreamKHR\0"
298e84fe556Smrg   "eglDestroySurface\0"
299e84fe556Smrg   "eglDestroySync\0"
300e84fe556Smrg   "eglDestroySyncKHR\0"
301e84fe556Smrg   "eglDestroySyncNV\0"
302e84fe556Smrg   "eglDupNativeFenceFDANDROID\0"
303e84fe556Smrg   "eglExportDMABUFImageMESA\0"
304e84fe556Smrg   "eglExportDMABUFImageQueryMESA\0"
305e84fe556Smrg   "eglExportDRMImageMESA\0"
306e84fe556Smrg   "eglFenceNV\0"
307e84fe556Smrg   "eglGetConfigAttrib\0"
308e84fe556Smrg   "eglGetConfigs\0"
309e84fe556Smrg   "eglGetCurrentContext\0"
310e84fe556Smrg   "eglGetCurrentDisplay\0"
311e84fe556Smrg   "eglGetCurrentSurface\0"
312e84fe556Smrg   "eglGetDisplay\0"
313e84fe556Smrg   "eglGetError\0"
314e84fe556Smrg   "eglGetOutputLayersEXT\0"
315e84fe556Smrg   "eglGetOutputPortsEXT\0"
316e84fe556Smrg   "eglGetPlatformDisplay\0"
317e84fe556Smrg   "eglGetPlatformDisplayEXT\0"
318e84fe556Smrg   "eglGetProcAddress\0"
319e84fe556Smrg   "eglGetStreamFileDescriptorKHR\0"
320e84fe556Smrg   "eglGetSyncAttrib\0"
321e84fe556Smrg   "eglGetSyncAttribKHR\0"
322e84fe556Smrg   "eglGetSyncAttribNV\0"
323e84fe556Smrg   "eglGetSystemTimeFrequencyNV\0"
324e84fe556Smrg   "eglGetSystemTimeNV\0"
325e84fe556Smrg   "eglInitialize\0"
326e84fe556Smrg   "eglLockSurfaceKHR\0"
327e84fe556Smrg   "eglMakeCurrent\0"
328e84fe556Smrg   "eglOutputLayerAttribEXT\0"
329e84fe556Smrg   "eglOutputPortAttribEXT\0"
330e84fe556Smrg   "eglPostSubBufferNV\0"
331e84fe556Smrg   "eglQueryAPI\0"
332e84fe556Smrg   "eglQueryContext\0"
333e84fe556Smrg   "eglQueryDeviceAttribEXT\0"
334e84fe556Smrg   "eglQueryDeviceStringEXT\0"
335e84fe556Smrg   "eglQueryDevicesEXT\0"
336e84fe556Smrg   "eglQueryDisplayAttribEXT\0"
337e84fe556Smrg   "eglQueryNativeDisplayNV\0"
338e84fe556Smrg   "eglQueryNativePixmapNV\0"
339e84fe556Smrg   "eglQueryNativeWindowNV\0"
340e84fe556Smrg   "eglQueryOutputLayerAttribEXT\0"
341e84fe556Smrg   "eglQueryOutputLayerStringEXT\0"
342e84fe556Smrg   "eglQueryOutputPortAttribEXT\0"
343e84fe556Smrg   "eglQueryOutputPortStringEXT\0"
344e84fe556Smrg   "eglQueryStreamKHR\0"
345e84fe556Smrg   "eglQueryStreamTimeKHR\0"
346e84fe556Smrg   "eglQueryStreamu64KHR\0"
347e84fe556Smrg   "eglQueryString\0"
348e84fe556Smrg   "eglQuerySurface\0"
349e84fe556Smrg   "eglQuerySurface64KHR\0"
350e84fe556Smrg   "eglQuerySurfacePointerANGLE\0"
351e84fe556Smrg   "eglReleaseTexImage\0"
352e84fe556Smrg   "eglReleaseThread\0"
353e84fe556Smrg   "eglSetBlobCacheFuncsANDROID\0"
354e84fe556Smrg   "eglSetDamageRegionKHR\0"
355e84fe556Smrg   "eglSignalSyncKHR\0"
356e84fe556Smrg   "eglSignalSyncNV\0"
357e84fe556Smrg   "eglStreamAttribKHR\0"
358e84fe556Smrg   "eglStreamConsumerAcquireKHR\0"
359e84fe556Smrg   "eglStreamConsumerGLTextureExternalKHR\0"
360e84fe556Smrg   "eglStreamConsumerOutputEXT\0"
361e84fe556Smrg   "eglStreamConsumerReleaseKHR\0"
362e84fe556Smrg   "eglSurfaceAttrib\0"
363e84fe556Smrg   "eglSwapBuffers\0"
364e84fe556Smrg   "eglSwapBuffersRegion2NOK\0"
365e84fe556Smrg   "eglSwapBuffersRegionNOK\0"
366e84fe556Smrg   "eglSwapBuffersWithDamageEXT\0"
367e84fe556Smrg   "eglSwapBuffersWithDamageKHR\0"
368e84fe556Smrg   "eglSwapInterval\0"
369e84fe556Smrg   "eglTerminate\0"
370e84fe556Smrg   "eglUnlockSurfaceKHR\0"
371e84fe556Smrg   "eglWaitClient\0"
372e84fe556Smrg   "eglWaitGL\0"
373e84fe556Smrg   "eglWaitNative\0"
374e84fe556Smrg   "eglWaitSync\0"
375e84fe556Smrg   "eglWaitSyncKHR\0"
376e84fe556Smrg    ;
377e84fe556Smrg
378e84fe556Smrgstatic void *egl_provider_resolver(const char *name,
379e84fe556Smrg                                   const enum egl_provider *providers,
380e84fe556Smrg                                   const uint16_t *entrypoints)
381e84fe556Smrg{
382e84fe556Smrg    int i;
383e84fe556Smrg    for (i = 0; providers[i] != egl_provider_terminator; i++) {
384e84fe556Smrg        switch (providers[i]) {
385e84fe556Smrg        case EGL_10:
386e84fe556Smrg            if (true)
387e84fe556Smrg                return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
388e84fe556Smrg            break;
389e84fe556Smrg        case EGL_11:
390e84fe556Smrg            if (epoxy_conservative_egl_version() >= 11)
391e84fe556Smrg                return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
392e84fe556Smrg            break;
393e84fe556Smrg        case EGL_12:
394e84fe556Smrg            if (epoxy_conservative_egl_version() >= 12)
395e84fe556Smrg                return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
396e84fe556Smrg            break;
397e84fe556Smrg        case EGL_14:
398e84fe556Smrg            if (epoxy_conservative_egl_version() >= 14)
399e84fe556Smrg                return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
400e84fe556Smrg            break;
401e84fe556Smrg        case EGL_15:
402e84fe556Smrg            if (epoxy_conservative_egl_version() >= 15)
403e84fe556Smrg                return epoxy_egl_dlsym(entrypoint_strings + entrypoints[i]);
404e84fe556Smrg            break;
405e84fe556Smrg        case EGL_extension_EGL_ANDROID_blob_cache:
406e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_ANDROID_blob_cache"))
407e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
408e84fe556Smrg            break;
409e84fe556Smrg        case EGL_extension_EGL_ANDROID_native_fence_sync:
410e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_ANDROID_native_fence_sync"))
411e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
412e84fe556Smrg            break;
413e84fe556Smrg        case EGL_extension_EGL_ANGLE_query_surface_pointer:
414e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_ANGLE_query_surface_pointer"))
415e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
416e84fe556Smrg            break;
417e84fe556Smrg        case EGL_extension_EGL_EXT_device_base:
418e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_device_base"))
419e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
420e84fe556Smrg            break;
421e84fe556Smrg        case EGL_extension_EGL_EXT_device_enumeration:
422e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_device_enumeration"))
423e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
424e84fe556Smrg            break;
425e84fe556Smrg        case EGL_extension_EGL_EXT_device_query:
426e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_device_query"))
427e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
428e84fe556Smrg            break;
429e84fe556Smrg        case EGL_extension_EGL_EXT_output_base:
430e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_output_base"))
431e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
432e84fe556Smrg            break;
433e84fe556Smrg        case EGL_extension_EGL_EXT_platform_base:
434e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_platform_base"))
435e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
436e84fe556Smrg            break;
437e84fe556Smrg        case EGL_extension_EGL_EXT_stream_consumer_egloutput:
438e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_stream_consumer_egloutput"))
439e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
440e84fe556Smrg            break;
441e84fe556Smrg        case EGL_extension_EGL_EXT_swap_buffers_with_damage:
442e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_EXT_swap_buffers_with_damage"))
443e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
444e84fe556Smrg            break;
445e84fe556Smrg        case EGL_extension_EGL_HI_clientpixmap:
446e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_HI_clientpixmap"))
447e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
448e84fe556Smrg            break;
449e84fe556Smrg        case EGL_extension_EGL_KHR_cl_event2:
450e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_cl_event2"))
451e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
452e84fe556Smrg            break;
453e84fe556Smrg        case EGL_extension_EGL_KHR_fence_sync:
454e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_fence_sync"))
455e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
456e84fe556Smrg            break;
457e84fe556Smrg        case EGL_extension_EGL_KHR_image:
458e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_image"))
459e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
460e84fe556Smrg            break;
461e84fe556Smrg        case EGL_extension_EGL_KHR_image_base:
462e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_image_base"))
463e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
464e84fe556Smrg            break;
465e84fe556Smrg        case EGL_extension_EGL_KHR_lock_surface3:
466e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_lock_surface3"))
467e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
468e84fe556Smrg            break;
469e84fe556Smrg        case EGL_extension_EGL_KHR_lock_surface:
470e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_lock_surface"))
471e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
472e84fe556Smrg            break;
473e84fe556Smrg        case EGL_extension_EGL_KHR_partial_update:
474e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_partial_update"))
475e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
476e84fe556Smrg            break;
477e84fe556Smrg        case EGL_extension_EGL_KHR_reusable_sync:
478e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_reusable_sync"))
479e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
480e84fe556Smrg            break;
481e84fe556Smrg        case EGL_extension_EGL_KHR_stream:
482e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_stream"))
483e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
484e84fe556Smrg            break;
485e84fe556Smrg        case EGL_extension_EGL_KHR_stream_consumer_gltexture:
486e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_stream_consumer_gltexture"))
487e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
488e84fe556Smrg            break;
489e84fe556Smrg        case EGL_extension_EGL_KHR_stream_cross_process_fd:
490e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_stream_cross_process_fd"))
491e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
492e84fe556Smrg            break;
493e84fe556Smrg        case EGL_extension_EGL_KHR_stream_fifo:
494e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_stream_fifo"))
495e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
496e84fe556Smrg            break;
497e84fe556Smrg        case EGL_extension_EGL_KHR_stream_producer_eglsurface:
498e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_stream_producer_eglsurface"))
499e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
500e84fe556Smrg            break;
501e84fe556Smrg        case EGL_extension_EGL_KHR_swap_buffers_with_damage:
502e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_swap_buffers_with_damage"))
503e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
504e84fe556Smrg            break;
505e84fe556Smrg        case EGL_extension_EGL_KHR_wait_sync:
506e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_KHR_wait_sync"))
507e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
508e84fe556Smrg            break;
509e84fe556Smrg        case EGL_extension_EGL_MESA_drm_image:
510e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_MESA_drm_image"))
511e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
512e84fe556Smrg            break;
513e84fe556Smrg        case EGL_extension_EGL_MESA_image_dma_buf_export:
514e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_MESA_image_dma_buf_export"))
515e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
516e84fe556Smrg            break;
517e84fe556Smrg        case EGL_extension_EGL_NOK_swap_region2:
518e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NOK_swap_region2"))
519e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
520e84fe556Smrg            break;
521e84fe556Smrg        case EGL_extension_EGL_NOK_swap_region:
522e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NOK_swap_region"))
523e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
524e84fe556Smrg            break;
525e84fe556Smrg        case EGL_extension_EGL_NV_native_query:
526e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NV_native_query"))
527e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
528e84fe556Smrg            break;
529e84fe556Smrg        case EGL_extension_EGL_NV_post_sub_buffer:
530e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NV_post_sub_buffer"))
531e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
532e84fe556Smrg            break;
533e84fe556Smrg        case EGL_extension_EGL_NV_stream_sync:
534e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NV_stream_sync"))
535e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
536e84fe556Smrg            break;
537e84fe556Smrg        case EGL_extension_EGL_NV_sync:
538e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NV_sync"))
539e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
540e84fe556Smrg            break;
541e84fe556Smrg        case EGL_extension_EGL_NV_system_time:
542e84fe556Smrg            if (epoxy_conservative_has_egl_extension("EGL_NV_system_time"))
543e84fe556Smrg                return eglGetProcAddress(entrypoint_strings + entrypoints[i]);
544e84fe556Smrg            break;
545e84fe556Smrg        case egl_provider_terminator:
546e84fe556Smrg            abort(); /* Not reached */
547e84fe556Smrg        }
548e84fe556Smrg    }
549e84fe556Smrg
550e84fe556Smrg    fprintf(stderr, "No provider of %s found.  Requires one of:\n", name);
551e84fe556Smrg    for (i = 0; providers[i] != egl_provider_terminator; i++) {
552e84fe556Smrg        fprintf(stderr, "    %s\n", enum_string + enum_string_offsets[providers[i]]);
553e84fe556Smrg    }
554e84fe556Smrg    if (providers[0] == egl_provider_terminator) {
555e84fe556Smrg        fprintf(stderr, "    No known providers.  This is likely a bug "
556e84fe556Smrg                        "in libepoxy code generation\n");
557e84fe556Smrg    }
558e84fe556Smrg    abort();
559e84fe556Smrg}
560e84fe556Smrg
561e84fe556SmrgEPOXY_NOINLINE static void *
562e84fe556Smrgegl_single_resolver(enum egl_provider provider, uint16_t entrypoint_offset);
563e84fe556Smrg
564e84fe556Smrgstatic void *
565e84fe556Smrgegl_single_resolver(enum egl_provider provider, uint16_t entrypoint_offset)
566e84fe556Smrg{
567e84fe556Smrg    enum egl_provider providers[] = {
568e84fe556Smrg        provider,
569e84fe556Smrg        egl_provider_terminator
570e84fe556Smrg    };
571e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + entrypoint_offset,
572e84fe556Smrg                                providers, &entrypoint_offset);
573e84fe556Smrg}
574e84fe556Smrg
575e84fe556Smrgstatic PFNEGLBINDAPIPROC
576e84fe556Smrgepoxy_eglBindAPI_resolver(void)
577e84fe556Smrg{
578e84fe556Smrg    return egl_single_resolver(EGL_12, 0 /* eglBindAPI */);
579e84fe556Smrg}
580e84fe556Smrg
581e84fe556Smrgstatic PFNEGLBINDTEXIMAGEPROC
582e84fe556Smrgepoxy_eglBindTexImage_resolver(void)
583e84fe556Smrg{
584e84fe556Smrg    return egl_single_resolver(EGL_11, 11 /* eglBindTexImage */);
585e84fe556Smrg}
586e84fe556Smrg
587e84fe556Smrgstatic PFNEGLCHOOSECONFIGPROC
588e84fe556Smrgepoxy_eglChooseConfig_resolver(void)
589e84fe556Smrg{
590e84fe556Smrg    return egl_single_resolver(EGL_10, 27 /* eglChooseConfig */);
591e84fe556Smrg}
592e84fe556Smrg
593e84fe556Smrgstatic PFNEGLCLIENTWAITSYNCPROC
594e84fe556Smrgepoxy_eglClientWaitSync_resolver(void)
595e84fe556Smrg{
596e84fe556Smrg    static const enum egl_provider providers[] = {
597e84fe556Smrg        EGL_15,
598e84fe556Smrg        EGL_extension_EGL_KHR_fence_sync,
599e84fe556Smrg        EGL_extension_EGL_KHR_reusable_sync,
600e84fe556Smrg        egl_provider_terminator
601e84fe556Smrg    };
602e84fe556Smrg    static const uint16_t entrypoints[] = {
603e84fe556Smrg        43 /* "eglClientWaitSync" */,
604e84fe556Smrg        61 /* "eglClientWaitSyncKHR" */,
605e84fe556Smrg        61 /* "eglClientWaitSyncKHR" */,
606e84fe556Smrg    };
607e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 43 /* "eglClientWaitSync" */,
608e84fe556Smrg                                providers, entrypoints);
609e84fe556Smrg}
610e84fe556Smrg
611e84fe556Smrgstatic PFNEGLCLIENTWAITSYNCKHRPROC
612e84fe556Smrgepoxy_eglClientWaitSyncKHR_resolver(void)
613e84fe556Smrg{
614e84fe556Smrg    static const enum egl_provider providers[] = {
615e84fe556Smrg        EGL_extension_EGL_KHR_fence_sync,
616e84fe556Smrg        EGL_extension_EGL_KHR_reusable_sync,
617e84fe556Smrg        EGL_15,
618e84fe556Smrg        egl_provider_terminator
619e84fe556Smrg    };
620e84fe556Smrg    static const uint16_t entrypoints[] = {
621e84fe556Smrg        61 /* "eglClientWaitSyncKHR" */,
622e84fe556Smrg        61 /* "eglClientWaitSyncKHR" */,
623e84fe556Smrg        43 /* "eglClientWaitSync" */,
624e84fe556Smrg    };
625e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 61 /* "eglClientWaitSyncKHR" */,
626e84fe556Smrg                                providers, entrypoints);
627e84fe556Smrg}
628e84fe556Smrg
629e84fe556Smrgstatic PFNEGLCLIENTWAITSYNCNVPROC
630e84fe556Smrgepoxy_eglClientWaitSyncNV_resolver(void)
631e84fe556Smrg{
632e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_sync, 82 /* eglClientWaitSyncNV */);
633e84fe556Smrg}
634e84fe556Smrg
635e84fe556Smrgstatic PFNEGLCOPYBUFFERSPROC
636e84fe556Smrgepoxy_eglCopyBuffers_resolver(void)
637e84fe556Smrg{
638e84fe556Smrg    return egl_single_resolver(EGL_10, 102 /* eglCopyBuffers */);
639e84fe556Smrg}
640e84fe556Smrg
641e84fe556Smrgstatic PFNEGLCREATECONTEXTPROC
642e84fe556Smrgepoxy_eglCreateContext_resolver(void)
643e84fe556Smrg{
644e84fe556Smrg    return egl_single_resolver(EGL_10, 117 /* eglCreateContext */);
645e84fe556Smrg}
646e84fe556Smrg
647e84fe556Smrgstatic PFNEGLCREATEDRMIMAGEMESAPROC
648e84fe556Smrgepoxy_eglCreateDRMImageMESA_resolver(void)
649e84fe556Smrg{
650e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_MESA_drm_image, 134 /* eglCreateDRMImageMESA */);
651e84fe556Smrg}
652e84fe556Smrg
653e84fe556Smrgstatic PFNEGLCREATEFENCESYNCNVPROC
654e84fe556Smrgepoxy_eglCreateFenceSyncNV_resolver(void)
655e84fe556Smrg{
656e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_sync, 156 /* eglCreateFenceSyncNV */);
657e84fe556Smrg}
658e84fe556Smrg
659e84fe556Smrgstatic PFNEGLCREATEIMAGEPROC
660e84fe556Smrgepoxy_eglCreateImage_resolver(void)
661e84fe556Smrg{
662e84fe556Smrg    return egl_single_resolver(EGL_15, 177 /* eglCreateImage */);
663e84fe556Smrg}
664e84fe556Smrg
665e84fe556Smrgstatic PFNEGLCREATEIMAGEKHRPROC
666e84fe556Smrgepoxy_eglCreateImageKHR_resolver(void)
667e84fe556Smrg{
668e84fe556Smrg    static const enum egl_provider providers[] = {
669e84fe556Smrg        EGL_extension_EGL_KHR_image,
670e84fe556Smrg        EGL_extension_EGL_KHR_image_base,
671e84fe556Smrg        egl_provider_terminator
672e84fe556Smrg    };
673e84fe556Smrg    static const uint16_t entrypoints[] = {
674e84fe556Smrg        192 /* "eglCreateImageKHR" */,
675e84fe556Smrg        192 /* "eglCreateImageKHR" */,
676e84fe556Smrg    };
677e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 192 /* "eglCreateImageKHR" */,
678e84fe556Smrg                                providers, entrypoints);
679e84fe556Smrg}
680e84fe556Smrg
681e84fe556Smrgstatic PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC
682e84fe556Smrgepoxy_eglCreatePbufferFromClientBuffer_resolver(void)
683e84fe556Smrg{
684e84fe556Smrg    return egl_single_resolver(EGL_12, 210 /* eglCreatePbufferFromClientBuffer */);
685e84fe556Smrg}
686e84fe556Smrg
687e84fe556Smrgstatic PFNEGLCREATEPBUFFERSURFACEPROC
688e84fe556Smrgepoxy_eglCreatePbufferSurface_resolver(void)
689e84fe556Smrg{
690e84fe556Smrg    return egl_single_resolver(EGL_10, 243 /* eglCreatePbufferSurface */);
691e84fe556Smrg}
692e84fe556Smrg
693e84fe556Smrgstatic PFNEGLCREATEPIXMAPSURFACEPROC
694e84fe556Smrgepoxy_eglCreatePixmapSurface_resolver(void)
695e84fe556Smrg{
696e84fe556Smrg    return egl_single_resolver(EGL_10, 267 /* eglCreatePixmapSurface */);
697e84fe556Smrg}
698e84fe556Smrg
699e84fe556Smrgstatic PFNEGLCREATEPIXMAPSURFACEHIPROC
700e84fe556Smrgepoxy_eglCreatePixmapSurfaceHI_resolver(void)
701e84fe556Smrg{
702e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_HI_clientpixmap, 290 /* eglCreatePixmapSurfaceHI */);
703e84fe556Smrg}
704e84fe556Smrg
705e84fe556Smrgstatic PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC
706e84fe556Smrgepoxy_eglCreatePlatformPixmapSurface_resolver(void)
707e84fe556Smrg{
708e84fe556Smrg    return egl_single_resolver(EGL_15, 315 /* eglCreatePlatformPixmapSurface */);
709e84fe556Smrg}
710e84fe556Smrg
711e84fe556Smrgstatic PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
712e84fe556Smrgepoxy_eglCreatePlatformPixmapSurfaceEXT_resolver(void)
713e84fe556Smrg{
714e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_platform_base, 346 /* eglCreatePlatformPixmapSurfaceEXT */);
715e84fe556Smrg}
716e84fe556Smrg
717e84fe556Smrgstatic PFNEGLCREATEPLATFORMWINDOWSURFACEPROC
718e84fe556Smrgepoxy_eglCreatePlatformWindowSurface_resolver(void)
719e84fe556Smrg{
720e84fe556Smrg    return egl_single_resolver(EGL_15, 380 /* eglCreatePlatformWindowSurface */);
721e84fe556Smrg}
722e84fe556Smrg
723e84fe556Smrgstatic PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
724e84fe556Smrgepoxy_eglCreatePlatformWindowSurfaceEXT_resolver(void)
725e84fe556Smrg{
726e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_platform_base, 411 /* eglCreatePlatformWindowSurfaceEXT */);
727e84fe556Smrg}
728e84fe556Smrg
729e84fe556Smrgstatic PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC
730e84fe556Smrgepoxy_eglCreateStreamFromFileDescriptorKHR_resolver(void)
731e84fe556Smrg{
732e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_cross_process_fd, 445 /* eglCreateStreamFromFileDescriptorKHR */);
733e84fe556Smrg}
734e84fe556Smrg
735e84fe556Smrgstatic PFNEGLCREATESTREAMKHRPROC
736e84fe556Smrgepoxy_eglCreateStreamKHR_resolver(void)
737e84fe556Smrg{
738e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream, 482 /* eglCreateStreamKHR */);
739e84fe556Smrg}
740e84fe556Smrg
741e84fe556Smrgstatic PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC
742e84fe556Smrgepoxy_eglCreateStreamProducerSurfaceKHR_resolver(void)
743e84fe556Smrg{
744e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_producer_eglsurface, 501 /* eglCreateStreamProducerSurfaceKHR */);
745e84fe556Smrg}
746e84fe556Smrg
747e84fe556Smrgstatic PFNEGLCREATESTREAMSYNCNVPROC
748e84fe556Smrgepoxy_eglCreateStreamSyncNV_resolver(void)
749e84fe556Smrg{
750e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_stream_sync, 535 /* eglCreateStreamSyncNV */);
751e84fe556Smrg}
752e84fe556Smrg
753e84fe556Smrgstatic PFNEGLCREATESYNCPROC
754e84fe556Smrgepoxy_eglCreateSync_resolver(void)
755e84fe556Smrg{
756e84fe556Smrg    static const enum egl_provider providers[] = {
757e84fe556Smrg        EGL_15,
758e84fe556Smrg        EGL_extension_EGL_KHR_cl_event2,
759e84fe556Smrg        egl_provider_terminator
760e84fe556Smrg    };
761e84fe556Smrg    static const uint16_t entrypoints[] = {
762e84fe556Smrg        557 /* "eglCreateSync" */,
763e84fe556Smrg        571 /* "eglCreateSync64KHR" */,
764e84fe556Smrg    };
765e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 557 /* "eglCreateSync" */,
766e84fe556Smrg                                providers, entrypoints);
767e84fe556Smrg}
768e84fe556Smrg
769e84fe556Smrgstatic PFNEGLCREATESYNC64KHRPROC
770e84fe556Smrgepoxy_eglCreateSync64KHR_resolver(void)
771e84fe556Smrg{
772e84fe556Smrg    static const enum egl_provider providers[] = {
773e84fe556Smrg        EGL_extension_EGL_KHR_cl_event2,
774e84fe556Smrg        EGL_15,
775e84fe556Smrg        egl_provider_terminator
776e84fe556Smrg    };
777e84fe556Smrg    static const uint16_t entrypoints[] = {
778e84fe556Smrg        571 /* "eglCreateSync64KHR" */,
779e84fe556Smrg        557 /* "eglCreateSync" */,
780e84fe556Smrg    };
781e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 571 /* "eglCreateSync64KHR" */,
782e84fe556Smrg                                providers, entrypoints);
783e84fe556Smrg}
784e84fe556Smrg
785e84fe556Smrgstatic PFNEGLCREATESYNCKHRPROC
786e84fe556Smrgepoxy_eglCreateSyncKHR_resolver(void)
787e84fe556Smrg{
788e84fe556Smrg    static const enum egl_provider providers[] = {
789e84fe556Smrg        EGL_extension_EGL_KHR_fence_sync,
790e84fe556Smrg        EGL_extension_EGL_KHR_reusable_sync,
791e84fe556Smrg        egl_provider_terminator
792e84fe556Smrg    };
793e84fe556Smrg    static const uint16_t entrypoints[] = {
794e84fe556Smrg        590 /* "eglCreateSyncKHR" */,
795e84fe556Smrg        590 /* "eglCreateSyncKHR" */,
796e84fe556Smrg    };
797e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 590 /* "eglCreateSyncKHR" */,
798e84fe556Smrg                                providers, entrypoints);
799e84fe556Smrg}
800e84fe556Smrg
801e84fe556Smrgstatic PFNEGLCREATEWINDOWSURFACEPROC
802e84fe556Smrgepoxy_eglCreateWindowSurface_resolver(void)
803e84fe556Smrg{
804e84fe556Smrg    return egl_single_resolver(EGL_10, 607 /* eglCreateWindowSurface */);
805e84fe556Smrg}
806e84fe556Smrg
807e84fe556Smrgstatic PFNEGLDESTROYCONTEXTPROC
808e84fe556Smrgepoxy_eglDestroyContext_resolver(void)
809e84fe556Smrg{
810e84fe556Smrg    return egl_single_resolver(EGL_10, 630 /* eglDestroyContext */);
811e84fe556Smrg}
812e84fe556Smrg
813e84fe556Smrgstatic PFNEGLDESTROYIMAGEPROC
814e84fe556Smrgepoxy_eglDestroyImage_resolver(void)
815e84fe556Smrg{
816e84fe556Smrg    static const enum egl_provider providers[] = {
817e84fe556Smrg        EGL_15,
818e84fe556Smrg        EGL_extension_EGL_KHR_image,
819e84fe556Smrg        EGL_extension_EGL_KHR_image_base,
820e84fe556Smrg        egl_provider_terminator
821e84fe556Smrg    };
822e84fe556Smrg    static const uint16_t entrypoints[] = {
823e84fe556Smrg        648 /* "eglDestroyImage" */,
824e84fe556Smrg        664 /* "eglDestroyImageKHR" */,
825e84fe556Smrg        664 /* "eglDestroyImageKHR" */,
826e84fe556Smrg    };
827e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 648 /* "eglDestroyImage" */,
828e84fe556Smrg                                providers, entrypoints);
829e84fe556Smrg}
830e84fe556Smrg
831e84fe556Smrgstatic PFNEGLDESTROYIMAGEKHRPROC
832e84fe556Smrgepoxy_eglDestroyImageKHR_resolver(void)
833e84fe556Smrg{
834e84fe556Smrg    static const enum egl_provider providers[] = {
835e84fe556Smrg        EGL_extension_EGL_KHR_image,
836e84fe556Smrg        EGL_extension_EGL_KHR_image_base,
837e84fe556Smrg        EGL_15,
838e84fe556Smrg        egl_provider_terminator
839e84fe556Smrg    };
840e84fe556Smrg    static const uint16_t entrypoints[] = {
841e84fe556Smrg        664 /* "eglDestroyImageKHR" */,
842e84fe556Smrg        664 /* "eglDestroyImageKHR" */,
843e84fe556Smrg        648 /* "eglDestroyImage" */,
844e84fe556Smrg    };
845e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 664 /* "eglDestroyImageKHR" */,
846e84fe556Smrg                                providers, entrypoints);
847e84fe556Smrg}
848e84fe556Smrg
849e84fe556Smrgstatic PFNEGLDESTROYSTREAMKHRPROC
850e84fe556Smrgepoxy_eglDestroyStreamKHR_resolver(void)
851e84fe556Smrg{
852e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream, 683 /* eglDestroyStreamKHR */);
853e84fe556Smrg}
854e84fe556Smrg
855e84fe556Smrgstatic PFNEGLDESTROYSURFACEPROC
856e84fe556Smrgepoxy_eglDestroySurface_resolver(void)
857e84fe556Smrg{
858e84fe556Smrg    return egl_single_resolver(EGL_10, 703 /* eglDestroySurface */);
859e84fe556Smrg}
860e84fe556Smrg
861e84fe556Smrgstatic PFNEGLDESTROYSYNCPROC
862e84fe556Smrgepoxy_eglDestroySync_resolver(void)
863e84fe556Smrg{
864e84fe556Smrg    static const enum egl_provider providers[] = {
865e84fe556Smrg        EGL_15,
866e84fe556Smrg        EGL_extension_EGL_KHR_fence_sync,
867e84fe556Smrg        EGL_extension_EGL_KHR_reusable_sync,
868e84fe556Smrg        egl_provider_terminator
869e84fe556Smrg    };
870e84fe556Smrg    static const uint16_t entrypoints[] = {
871e84fe556Smrg        721 /* "eglDestroySync" */,
872e84fe556Smrg        736 /* "eglDestroySyncKHR" */,
873e84fe556Smrg        736 /* "eglDestroySyncKHR" */,
874e84fe556Smrg    };
875e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 721 /* "eglDestroySync" */,
876e84fe556Smrg                                providers, entrypoints);
877e84fe556Smrg}
878e84fe556Smrg
879e84fe556Smrgstatic PFNEGLDESTROYSYNCKHRPROC
880e84fe556Smrgepoxy_eglDestroySyncKHR_resolver(void)
881e84fe556Smrg{
882e84fe556Smrg    static const enum egl_provider providers[] = {
883e84fe556Smrg        EGL_extension_EGL_KHR_fence_sync,
884e84fe556Smrg        EGL_extension_EGL_KHR_reusable_sync,
885e84fe556Smrg        EGL_15,
886e84fe556Smrg        egl_provider_terminator
887e84fe556Smrg    };
888e84fe556Smrg    static const uint16_t entrypoints[] = {
889e84fe556Smrg        736 /* "eglDestroySyncKHR" */,
890e84fe556Smrg        736 /* "eglDestroySyncKHR" */,
891e84fe556Smrg        721 /* "eglDestroySync" */,
892e84fe556Smrg    };
893e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 736 /* "eglDestroySyncKHR" */,
894e84fe556Smrg                                providers, entrypoints);
895e84fe556Smrg}
896e84fe556Smrg
897e84fe556Smrgstatic PFNEGLDESTROYSYNCNVPROC
898e84fe556Smrgepoxy_eglDestroySyncNV_resolver(void)
899e84fe556Smrg{
900e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_sync, 754 /* eglDestroySyncNV */);
901e84fe556Smrg}
902e84fe556Smrg
903e84fe556Smrgstatic PFNEGLDUPNATIVEFENCEFDANDROIDPROC
904e84fe556Smrgepoxy_eglDupNativeFenceFDANDROID_resolver(void)
905e84fe556Smrg{
906e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_ANDROID_native_fence_sync, 771 /* eglDupNativeFenceFDANDROID */);
907e84fe556Smrg}
908e84fe556Smrg
909e84fe556Smrgstatic PFNEGLEXPORTDMABUFIMAGEMESAPROC
910e84fe556Smrgepoxy_eglExportDMABUFImageMESA_resolver(void)
911e84fe556Smrg{
912e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_MESA_image_dma_buf_export, 798 /* eglExportDMABUFImageMESA */);
913e84fe556Smrg}
914e84fe556Smrg
915e84fe556Smrgstatic PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC
916e84fe556Smrgepoxy_eglExportDMABUFImageQueryMESA_resolver(void)
917e84fe556Smrg{
918e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_MESA_image_dma_buf_export, 823 /* eglExportDMABUFImageQueryMESA */);
919e84fe556Smrg}
920e84fe556Smrg
921e84fe556Smrgstatic PFNEGLEXPORTDRMIMAGEMESAPROC
922e84fe556Smrgepoxy_eglExportDRMImageMESA_resolver(void)
923e84fe556Smrg{
924e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_MESA_drm_image, 853 /* eglExportDRMImageMESA */);
925e84fe556Smrg}
926e84fe556Smrg
927e84fe556Smrgstatic PFNEGLFENCENVPROC
928e84fe556Smrgepoxy_eglFenceNV_resolver(void)
929e84fe556Smrg{
930e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_sync, 875 /* eglFenceNV */);
931e84fe556Smrg}
932e84fe556Smrg
933e84fe556Smrgstatic PFNEGLGETCONFIGATTRIBPROC
934e84fe556Smrgepoxy_eglGetConfigAttrib_resolver(void)
935e84fe556Smrg{
936e84fe556Smrg    return egl_single_resolver(EGL_10, 886 /* eglGetConfigAttrib */);
937e84fe556Smrg}
938e84fe556Smrg
939e84fe556Smrgstatic PFNEGLGETCONFIGSPROC
940e84fe556Smrgepoxy_eglGetConfigs_resolver(void)
941e84fe556Smrg{
942e84fe556Smrg    return egl_single_resolver(EGL_10, 905 /* eglGetConfigs */);
943e84fe556Smrg}
944e84fe556Smrg
945e84fe556Smrgstatic PFNEGLGETCURRENTCONTEXTPROC
946e84fe556Smrgepoxy_eglGetCurrentContext_resolver(void)
947e84fe556Smrg{
948e84fe556Smrg    return egl_single_resolver(EGL_14, 919 /* eglGetCurrentContext */);
949e84fe556Smrg}
950e84fe556Smrg
951e84fe556Smrgstatic PFNEGLGETCURRENTDISPLAYPROC
952e84fe556Smrgepoxy_eglGetCurrentDisplay_resolver(void)
953e84fe556Smrg{
954e84fe556Smrg    return egl_single_resolver(EGL_10, 940 /* eglGetCurrentDisplay */);
955e84fe556Smrg}
956e84fe556Smrg
957e84fe556Smrgstatic PFNEGLGETCURRENTSURFACEPROC
958e84fe556Smrgepoxy_eglGetCurrentSurface_resolver(void)
959e84fe556Smrg{
960e84fe556Smrg    return egl_single_resolver(EGL_10, 961 /* eglGetCurrentSurface */);
961e84fe556Smrg}
962e84fe556Smrg
963e84fe556Smrgstatic PFNEGLGETDISPLAYPROC
964e84fe556Smrgepoxy_eglGetDisplay_resolver(void)
965e84fe556Smrg{
966e84fe556Smrg    return egl_single_resolver(EGL_10, 982 /* eglGetDisplay */);
967e84fe556Smrg}
968e84fe556Smrg
969e84fe556Smrgstatic PFNEGLGETERRORPROC
970e84fe556Smrgepoxy_eglGetError_resolver(void)
971e84fe556Smrg{
972e84fe556Smrg    return egl_single_resolver(EGL_10, 996 /* eglGetError */);
973e84fe556Smrg}
974e84fe556Smrg
975e84fe556Smrgstatic PFNEGLGETOUTPUTLAYERSEXTPROC
976e84fe556Smrgepoxy_eglGetOutputLayersEXT_resolver(void)
977e84fe556Smrg{
978e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1008 /* eglGetOutputLayersEXT */);
979e84fe556Smrg}
980e84fe556Smrg
981e84fe556Smrgstatic PFNEGLGETOUTPUTPORTSEXTPROC
982e84fe556Smrgepoxy_eglGetOutputPortsEXT_resolver(void)
983e84fe556Smrg{
984e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1030 /* eglGetOutputPortsEXT */);
985e84fe556Smrg}
986e84fe556Smrg
987e84fe556Smrgstatic PFNEGLGETPLATFORMDISPLAYPROC
988e84fe556Smrgepoxy_eglGetPlatformDisplay_resolver(void)
989e84fe556Smrg{
990e84fe556Smrg    return egl_single_resolver(EGL_15, 1051 /* eglGetPlatformDisplay */);
991e84fe556Smrg}
992e84fe556Smrg
993e84fe556Smrgstatic PFNEGLGETPLATFORMDISPLAYEXTPROC
994e84fe556Smrgepoxy_eglGetPlatformDisplayEXT_resolver(void)
995e84fe556Smrg{
996e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_platform_base, 1073 /* eglGetPlatformDisplayEXT */);
997e84fe556Smrg}
998e84fe556Smrg
999e84fe556Smrgstatic PFNEGLGETPROCADDRESSPROC
1000e84fe556Smrgepoxy_eglGetProcAddress_resolver(void)
1001e84fe556Smrg{
1002e84fe556Smrg    return egl_single_resolver(EGL_10, 1098 /* eglGetProcAddress */);
1003e84fe556Smrg}
1004e84fe556Smrg
1005e84fe556Smrgstatic PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC
1006e84fe556Smrgepoxy_eglGetStreamFileDescriptorKHR_resolver(void)
1007e84fe556Smrg{
1008e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_cross_process_fd, 1116 /* eglGetStreamFileDescriptorKHR */);
1009e84fe556Smrg}
1010e84fe556Smrg
1011e84fe556Smrgstatic PFNEGLGETSYNCATTRIBPROC
1012e84fe556Smrgepoxy_eglGetSyncAttrib_resolver(void)
1013e84fe556Smrg{
1014e84fe556Smrg    return egl_single_resolver(EGL_15, 1146 /* eglGetSyncAttrib */);
1015e84fe556Smrg}
1016e84fe556Smrg
1017e84fe556Smrgstatic PFNEGLGETSYNCATTRIBKHRPROC
1018e84fe556Smrgepoxy_eglGetSyncAttribKHR_resolver(void)
1019e84fe556Smrg{
1020e84fe556Smrg    static const enum egl_provider providers[] = {
1021e84fe556Smrg        EGL_extension_EGL_KHR_fence_sync,
1022e84fe556Smrg        EGL_extension_EGL_KHR_reusable_sync,
1023e84fe556Smrg        egl_provider_terminator
1024e84fe556Smrg    };
1025e84fe556Smrg    static const uint16_t entrypoints[] = {
1026e84fe556Smrg        1163 /* "eglGetSyncAttribKHR" */,
1027e84fe556Smrg        1163 /* "eglGetSyncAttribKHR" */,
1028e84fe556Smrg    };
1029e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 1163 /* "eglGetSyncAttribKHR" */,
1030e84fe556Smrg                                providers, entrypoints);
1031e84fe556Smrg}
1032e84fe556Smrg
1033e84fe556Smrgstatic PFNEGLGETSYNCATTRIBNVPROC
1034e84fe556Smrgepoxy_eglGetSyncAttribNV_resolver(void)
1035e84fe556Smrg{
1036e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_sync, 1183 /* eglGetSyncAttribNV */);
1037e84fe556Smrg}
1038e84fe556Smrg
1039e84fe556Smrgstatic PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC
1040e84fe556Smrgepoxy_eglGetSystemTimeFrequencyNV_resolver(void)
1041e84fe556Smrg{
1042e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_system_time, 1202 /* eglGetSystemTimeFrequencyNV */);
1043e84fe556Smrg}
1044e84fe556Smrg
1045e84fe556Smrgstatic PFNEGLGETSYSTEMTIMENVPROC
1046e84fe556Smrgepoxy_eglGetSystemTimeNV_resolver(void)
1047e84fe556Smrg{
1048e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_system_time, 1230 /* eglGetSystemTimeNV */);
1049e84fe556Smrg}
1050e84fe556Smrg
1051e84fe556Smrgstatic PFNEGLINITIALIZEPROC
1052e84fe556Smrgepoxy_eglInitialize_resolver(void)
1053e84fe556Smrg{
1054e84fe556Smrg    return egl_single_resolver(EGL_10, 1249 /* eglInitialize */);
1055e84fe556Smrg}
1056e84fe556Smrg
1057e84fe556Smrgstatic PFNEGLLOCKSURFACEKHRPROC
1058e84fe556Smrgepoxy_eglLockSurfaceKHR_resolver(void)
1059e84fe556Smrg{
1060e84fe556Smrg    static const enum egl_provider providers[] = {
1061e84fe556Smrg        EGL_extension_EGL_KHR_lock_surface,
1062e84fe556Smrg        EGL_extension_EGL_KHR_lock_surface3,
1063e84fe556Smrg        egl_provider_terminator
1064e84fe556Smrg    };
1065e84fe556Smrg    static const uint16_t entrypoints[] = {
1066e84fe556Smrg        1263 /* "eglLockSurfaceKHR" */,
1067e84fe556Smrg        1263 /* "eglLockSurfaceKHR" */,
1068e84fe556Smrg    };
1069e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 1263 /* "eglLockSurfaceKHR" */,
1070e84fe556Smrg                                providers, entrypoints);
1071e84fe556Smrg}
1072e84fe556Smrg
1073e84fe556Smrgstatic PFNEGLMAKECURRENTPROC
1074e84fe556Smrgepoxy_eglMakeCurrent_resolver(void)
1075e84fe556Smrg{
1076e84fe556Smrg    return egl_single_resolver(EGL_10, 1281 /* eglMakeCurrent */);
1077e84fe556Smrg}
1078e84fe556Smrg
1079e84fe556Smrgstatic PFNEGLOUTPUTLAYERATTRIBEXTPROC
1080e84fe556Smrgepoxy_eglOutputLayerAttribEXT_resolver(void)
1081e84fe556Smrg{
1082e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1296 /* eglOutputLayerAttribEXT */);
1083e84fe556Smrg}
1084e84fe556Smrg
1085e84fe556Smrgstatic PFNEGLOUTPUTPORTATTRIBEXTPROC
1086e84fe556Smrgepoxy_eglOutputPortAttribEXT_resolver(void)
1087e84fe556Smrg{
1088e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1320 /* eglOutputPortAttribEXT */);
1089e84fe556Smrg}
1090e84fe556Smrg
1091e84fe556Smrgstatic PFNEGLPOSTSUBBUFFERNVPROC
1092e84fe556Smrgepoxy_eglPostSubBufferNV_resolver(void)
1093e84fe556Smrg{
1094e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_post_sub_buffer, 1343 /* eglPostSubBufferNV */);
1095e84fe556Smrg}
1096e84fe556Smrg
1097e84fe556Smrgstatic PFNEGLQUERYAPIPROC
1098e84fe556Smrgepoxy_eglQueryAPI_resolver(void)
1099e84fe556Smrg{
1100e84fe556Smrg    return egl_single_resolver(EGL_12, 1362 /* eglQueryAPI */);
1101e84fe556Smrg}
1102e84fe556Smrg
1103e84fe556Smrgstatic PFNEGLQUERYCONTEXTPROC
1104e84fe556Smrgepoxy_eglQueryContext_resolver(void)
1105e84fe556Smrg{
1106e84fe556Smrg    return egl_single_resolver(EGL_10, 1374 /* eglQueryContext */);
1107e84fe556Smrg}
1108e84fe556Smrg
1109e84fe556Smrgstatic PFNEGLQUERYDEVICEATTRIBEXTPROC
1110e84fe556Smrgepoxy_eglQueryDeviceAttribEXT_resolver(void)
1111e84fe556Smrg{
1112e84fe556Smrg    static const enum egl_provider providers[] = {
1113e84fe556Smrg        EGL_extension_EGL_EXT_device_base,
1114e84fe556Smrg        EGL_extension_EGL_EXT_device_query,
1115e84fe556Smrg        egl_provider_terminator
1116e84fe556Smrg    };
1117e84fe556Smrg    static const uint16_t entrypoints[] = {
1118e84fe556Smrg        1390 /* "eglQueryDeviceAttribEXT" */,
1119e84fe556Smrg        1390 /* "eglQueryDeviceAttribEXT" */,
1120e84fe556Smrg    };
1121e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 1390 /* "eglQueryDeviceAttribEXT" */,
1122e84fe556Smrg                                providers, entrypoints);
1123e84fe556Smrg}
1124e84fe556Smrg
1125e84fe556Smrgstatic PFNEGLQUERYDEVICESTRINGEXTPROC
1126e84fe556Smrgepoxy_eglQueryDeviceStringEXT_resolver(void)
1127e84fe556Smrg{
1128e84fe556Smrg    static const enum egl_provider providers[] = {
1129e84fe556Smrg        EGL_extension_EGL_EXT_device_base,
1130e84fe556Smrg        EGL_extension_EGL_EXT_device_query,
1131e84fe556Smrg        egl_provider_terminator
1132e84fe556Smrg    };
1133e84fe556Smrg    static const uint16_t entrypoints[] = {
1134e84fe556Smrg        1414 /* "eglQueryDeviceStringEXT" */,
1135e84fe556Smrg        1414 /* "eglQueryDeviceStringEXT" */,
1136e84fe556Smrg    };
1137e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 1414 /* "eglQueryDeviceStringEXT" */,
1138e84fe556Smrg                                providers, entrypoints);
1139e84fe556Smrg}
1140e84fe556Smrg
1141e84fe556Smrgstatic PFNEGLQUERYDEVICESEXTPROC
1142e84fe556Smrgepoxy_eglQueryDevicesEXT_resolver(void)
1143e84fe556Smrg{
1144e84fe556Smrg    static const enum egl_provider providers[] = {
1145e84fe556Smrg        EGL_extension_EGL_EXT_device_base,
1146e84fe556Smrg        EGL_extension_EGL_EXT_device_enumeration,
1147e84fe556Smrg        egl_provider_terminator
1148e84fe556Smrg    };
1149e84fe556Smrg    static const uint16_t entrypoints[] = {
1150e84fe556Smrg        1438 /* "eglQueryDevicesEXT" */,
1151e84fe556Smrg        1438 /* "eglQueryDevicesEXT" */,
1152e84fe556Smrg    };
1153e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 1438 /* "eglQueryDevicesEXT" */,
1154e84fe556Smrg                                providers, entrypoints);
1155e84fe556Smrg}
1156e84fe556Smrg
1157e84fe556Smrgstatic PFNEGLQUERYDISPLAYATTRIBEXTPROC
1158e84fe556Smrgepoxy_eglQueryDisplayAttribEXT_resolver(void)
1159e84fe556Smrg{
1160e84fe556Smrg    static const enum egl_provider providers[] = {
1161e84fe556Smrg        EGL_extension_EGL_EXT_device_base,
1162e84fe556Smrg        EGL_extension_EGL_EXT_device_query,
1163e84fe556Smrg        egl_provider_terminator
1164e84fe556Smrg    };
1165e84fe556Smrg    static const uint16_t entrypoints[] = {
1166e84fe556Smrg        1457 /* "eglQueryDisplayAttribEXT" */,
1167e84fe556Smrg        1457 /* "eglQueryDisplayAttribEXT" */,
1168e84fe556Smrg    };
1169e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 1457 /* "eglQueryDisplayAttribEXT" */,
1170e84fe556Smrg                                providers, entrypoints);
1171e84fe556Smrg}
1172e84fe556Smrg
1173e84fe556Smrgstatic PFNEGLQUERYNATIVEDISPLAYNVPROC
1174e84fe556Smrgepoxy_eglQueryNativeDisplayNV_resolver(void)
1175e84fe556Smrg{
1176e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_native_query, 1482 /* eglQueryNativeDisplayNV */);
1177e84fe556Smrg}
1178e84fe556Smrg
1179e84fe556Smrgstatic PFNEGLQUERYNATIVEPIXMAPNVPROC
1180e84fe556Smrgepoxy_eglQueryNativePixmapNV_resolver(void)
1181e84fe556Smrg{
1182e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_native_query, 1506 /* eglQueryNativePixmapNV */);
1183e84fe556Smrg}
1184e84fe556Smrg
1185e84fe556Smrgstatic PFNEGLQUERYNATIVEWINDOWNVPROC
1186e84fe556Smrgepoxy_eglQueryNativeWindowNV_resolver(void)
1187e84fe556Smrg{
1188e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_native_query, 1529 /* eglQueryNativeWindowNV */);
1189e84fe556Smrg}
1190e84fe556Smrg
1191e84fe556Smrgstatic PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC
1192e84fe556Smrgepoxy_eglQueryOutputLayerAttribEXT_resolver(void)
1193e84fe556Smrg{
1194e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1552 /* eglQueryOutputLayerAttribEXT */);
1195e84fe556Smrg}
1196e84fe556Smrg
1197e84fe556Smrgstatic PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC
1198e84fe556Smrgepoxy_eglQueryOutputLayerStringEXT_resolver(void)
1199e84fe556Smrg{
1200e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1581 /* eglQueryOutputLayerStringEXT */);
1201e84fe556Smrg}
1202e84fe556Smrg
1203e84fe556Smrgstatic PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC
1204e84fe556Smrgepoxy_eglQueryOutputPortAttribEXT_resolver(void)
1205e84fe556Smrg{
1206e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1610 /* eglQueryOutputPortAttribEXT */);
1207e84fe556Smrg}
1208e84fe556Smrg
1209e84fe556Smrgstatic PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC
1210e84fe556Smrgepoxy_eglQueryOutputPortStringEXT_resolver(void)
1211e84fe556Smrg{
1212e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_output_base, 1638 /* eglQueryOutputPortStringEXT */);
1213e84fe556Smrg}
1214e84fe556Smrg
1215e84fe556Smrgstatic PFNEGLQUERYSTREAMKHRPROC
1216e84fe556Smrgepoxy_eglQueryStreamKHR_resolver(void)
1217e84fe556Smrg{
1218e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream, 1666 /* eglQueryStreamKHR */);
1219e84fe556Smrg}
1220e84fe556Smrg
1221e84fe556Smrgstatic PFNEGLQUERYSTREAMTIMEKHRPROC
1222e84fe556Smrgepoxy_eglQueryStreamTimeKHR_resolver(void)
1223e84fe556Smrg{
1224e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_fifo, 1684 /* eglQueryStreamTimeKHR */);
1225e84fe556Smrg}
1226e84fe556Smrg
1227e84fe556Smrgstatic PFNEGLQUERYSTREAMU64KHRPROC
1228e84fe556Smrgepoxy_eglQueryStreamu64KHR_resolver(void)
1229e84fe556Smrg{
1230e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream, 1706 /* eglQueryStreamu64KHR */);
1231e84fe556Smrg}
1232e84fe556Smrg
1233e84fe556Smrgstatic PFNEGLQUERYSTRINGPROC
1234e84fe556Smrgepoxy_eglQueryString_resolver(void)
1235e84fe556Smrg{
1236e84fe556Smrg    return egl_single_resolver(EGL_10, 1727 /* eglQueryString */);
1237e84fe556Smrg}
1238e84fe556Smrg
1239e84fe556Smrgstatic PFNEGLQUERYSURFACEPROC
1240e84fe556Smrgepoxy_eglQuerySurface_resolver(void)
1241e84fe556Smrg{
1242e84fe556Smrg    return egl_single_resolver(EGL_10, 1742 /* eglQuerySurface */);
1243e84fe556Smrg}
1244e84fe556Smrg
1245e84fe556Smrgstatic PFNEGLQUERYSURFACE64KHRPROC
1246e84fe556Smrgepoxy_eglQuerySurface64KHR_resolver(void)
1247e84fe556Smrg{
1248e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_lock_surface3, 1758 /* eglQuerySurface64KHR */);
1249e84fe556Smrg}
1250e84fe556Smrg
1251e84fe556Smrgstatic PFNEGLQUERYSURFACEPOINTERANGLEPROC
1252e84fe556Smrgepoxy_eglQuerySurfacePointerANGLE_resolver(void)
1253e84fe556Smrg{
1254e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_ANGLE_query_surface_pointer, 1779 /* eglQuerySurfacePointerANGLE */);
1255e84fe556Smrg}
1256e84fe556Smrg
1257e84fe556Smrgstatic PFNEGLRELEASETEXIMAGEPROC
1258e84fe556Smrgepoxy_eglReleaseTexImage_resolver(void)
1259e84fe556Smrg{
1260e84fe556Smrg    return egl_single_resolver(EGL_11, 1807 /* eglReleaseTexImage */);
1261e84fe556Smrg}
1262e84fe556Smrg
1263e84fe556Smrgstatic PFNEGLRELEASETHREADPROC
1264e84fe556Smrgepoxy_eglReleaseThread_resolver(void)
1265e84fe556Smrg{
1266e84fe556Smrg    return egl_single_resolver(EGL_12, 1826 /* eglReleaseThread */);
1267e84fe556Smrg}
1268e84fe556Smrg
1269e84fe556Smrgstatic PFNEGLSETBLOBCACHEFUNCSANDROIDPROC
1270e84fe556Smrgepoxy_eglSetBlobCacheFuncsANDROID_resolver(void)
1271e84fe556Smrg{
1272e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_ANDROID_blob_cache, 1843 /* eglSetBlobCacheFuncsANDROID */);
1273e84fe556Smrg}
1274e84fe556Smrg
1275e84fe556Smrgstatic PFNEGLSETDAMAGEREGIONKHRPROC
1276e84fe556Smrgepoxy_eglSetDamageRegionKHR_resolver(void)
1277e84fe556Smrg{
1278e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_partial_update, 1871 /* eglSetDamageRegionKHR */);
1279e84fe556Smrg}
1280e84fe556Smrg
1281e84fe556Smrgstatic PFNEGLSIGNALSYNCKHRPROC
1282e84fe556Smrgepoxy_eglSignalSyncKHR_resolver(void)
1283e84fe556Smrg{
1284e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_reusable_sync, 1893 /* eglSignalSyncKHR */);
1285e84fe556Smrg}
1286e84fe556Smrg
1287e84fe556Smrgstatic PFNEGLSIGNALSYNCNVPROC
1288e84fe556Smrgepoxy_eglSignalSyncNV_resolver(void)
1289e84fe556Smrg{
1290e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NV_sync, 1910 /* eglSignalSyncNV */);
1291e84fe556Smrg}
1292e84fe556Smrg
1293e84fe556Smrgstatic PFNEGLSTREAMATTRIBKHRPROC
1294e84fe556Smrgepoxy_eglStreamAttribKHR_resolver(void)
1295e84fe556Smrg{
1296e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream, 1926 /* eglStreamAttribKHR */);
1297e84fe556Smrg}
1298e84fe556Smrg
1299e84fe556Smrgstatic PFNEGLSTREAMCONSUMERACQUIREKHRPROC
1300e84fe556Smrgepoxy_eglStreamConsumerAcquireKHR_resolver(void)
1301e84fe556Smrg{
1302e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_consumer_gltexture, 1945 /* eglStreamConsumerAcquireKHR */);
1303e84fe556Smrg}
1304e84fe556Smrg
1305e84fe556Smrgstatic PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
1306e84fe556Smrgepoxy_eglStreamConsumerGLTextureExternalKHR_resolver(void)
1307e84fe556Smrg{
1308e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_consumer_gltexture, 1973 /* eglStreamConsumerGLTextureExternalKHR */);
1309e84fe556Smrg}
1310e84fe556Smrg
1311e84fe556Smrgstatic PFNEGLSTREAMCONSUMEROUTPUTEXTPROC
1312e84fe556Smrgepoxy_eglStreamConsumerOutputEXT_resolver(void)
1313e84fe556Smrg{
1314e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_stream_consumer_egloutput, 2011 /* eglStreamConsumerOutputEXT */);
1315e84fe556Smrg}
1316e84fe556Smrg
1317e84fe556Smrgstatic PFNEGLSTREAMCONSUMERRELEASEKHRPROC
1318e84fe556Smrgepoxy_eglStreamConsumerReleaseKHR_resolver(void)
1319e84fe556Smrg{
1320e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_stream_consumer_gltexture, 2038 /* eglStreamConsumerReleaseKHR */);
1321e84fe556Smrg}
1322e84fe556Smrg
1323e84fe556Smrgstatic PFNEGLSURFACEATTRIBPROC
1324e84fe556Smrgepoxy_eglSurfaceAttrib_resolver(void)
1325e84fe556Smrg{
1326e84fe556Smrg    return egl_single_resolver(EGL_11, 2066 /* eglSurfaceAttrib */);
1327e84fe556Smrg}
1328e84fe556Smrg
1329e84fe556Smrgstatic PFNEGLSWAPBUFFERSPROC
1330e84fe556Smrgepoxy_eglSwapBuffers_resolver(void)
1331e84fe556Smrg{
1332e84fe556Smrg    return egl_single_resolver(EGL_10, 2083 /* eglSwapBuffers */);
1333e84fe556Smrg}
1334e84fe556Smrg
1335e84fe556Smrgstatic PFNEGLSWAPBUFFERSREGION2NOKPROC
1336e84fe556Smrgepoxy_eglSwapBuffersRegion2NOK_resolver(void)
1337e84fe556Smrg{
1338e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NOK_swap_region2, 2098 /* eglSwapBuffersRegion2NOK */);
1339e84fe556Smrg}
1340e84fe556Smrg
1341e84fe556Smrgstatic PFNEGLSWAPBUFFERSREGIONNOKPROC
1342e84fe556Smrgepoxy_eglSwapBuffersRegionNOK_resolver(void)
1343e84fe556Smrg{
1344e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_NOK_swap_region, 2123 /* eglSwapBuffersRegionNOK */);
1345e84fe556Smrg}
1346e84fe556Smrg
1347e84fe556Smrgstatic PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC
1348e84fe556Smrgepoxy_eglSwapBuffersWithDamageEXT_resolver(void)
1349e84fe556Smrg{
1350e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_EXT_swap_buffers_with_damage, 2147 /* eglSwapBuffersWithDamageEXT */);
1351e84fe556Smrg}
1352e84fe556Smrg
1353e84fe556Smrgstatic PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC
1354e84fe556Smrgepoxy_eglSwapBuffersWithDamageKHR_resolver(void)
1355e84fe556Smrg{
1356e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_swap_buffers_with_damage, 2175 /* eglSwapBuffersWithDamageKHR */);
1357e84fe556Smrg}
1358e84fe556Smrg
1359e84fe556Smrgstatic PFNEGLSWAPINTERVALPROC
1360e84fe556Smrgepoxy_eglSwapInterval_resolver(void)
1361e84fe556Smrg{
1362e84fe556Smrg    return egl_single_resolver(EGL_11, 2203 /* eglSwapInterval */);
1363e84fe556Smrg}
1364e84fe556Smrg
1365e84fe556Smrgstatic PFNEGLTERMINATEPROC
1366e84fe556Smrgepoxy_eglTerminate_resolver(void)
1367e84fe556Smrg{
1368e84fe556Smrg    return egl_single_resolver(EGL_10, 2219 /* eglTerminate */);
1369e84fe556Smrg}
1370e84fe556Smrg
1371e84fe556Smrgstatic PFNEGLUNLOCKSURFACEKHRPROC
1372e84fe556Smrgepoxy_eglUnlockSurfaceKHR_resolver(void)
1373e84fe556Smrg{
1374e84fe556Smrg    static const enum egl_provider providers[] = {
1375e84fe556Smrg        EGL_extension_EGL_KHR_lock_surface,
1376e84fe556Smrg        EGL_extension_EGL_KHR_lock_surface3,
1377e84fe556Smrg        egl_provider_terminator
1378e84fe556Smrg    };
1379e84fe556Smrg    static const uint16_t entrypoints[] = {
1380e84fe556Smrg        2232 /* "eglUnlockSurfaceKHR" */,
1381e84fe556Smrg        2232 /* "eglUnlockSurfaceKHR" */,
1382e84fe556Smrg    };
1383e84fe556Smrg    return egl_provider_resolver(entrypoint_strings + 2232 /* "eglUnlockSurfaceKHR" */,
1384e84fe556Smrg                                providers, entrypoints);
1385e84fe556Smrg}
1386e84fe556Smrg
1387e84fe556Smrgstatic PFNEGLWAITCLIENTPROC
1388e84fe556Smrgepoxy_eglWaitClient_resolver(void)
1389e84fe556Smrg{
1390e84fe556Smrg    return egl_single_resolver(EGL_12, 2252 /* eglWaitClient */);
1391e84fe556Smrg}
1392e84fe556Smrg
1393e84fe556Smrgstatic PFNEGLWAITGLPROC
1394e84fe556Smrgepoxy_eglWaitGL_resolver(void)
1395e84fe556Smrg{
1396e84fe556Smrg    return egl_single_resolver(EGL_10, 2266 /* eglWaitGL */);
1397e84fe556Smrg}
1398e84fe556Smrg
1399e84fe556Smrgstatic PFNEGLWAITNATIVEPROC
1400e84fe556Smrgepoxy_eglWaitNative_resolver(void)
1401e84fe556Smrg{
1402e84fe556Smrg    return egl_single_resolver(EGL_10, 2276 /* eglWaitNative */);
1403e84fe556Smrg}
1404e84fe556Smrg
1405e84fe556Smrgstatic PFNEGLWAITSYNCPROC
1406e84fe556Smrgepoxy_eglWaitSync_resolver(void)
1407e84fe556Smrg{
1408e84fe556Smrg    return egl_single_resolver(EGL_15, 2290 /* eglWaitSync */);
1409e84fe556Smrg}
1410e84fe556Smrg
1411e84fe556Smrgstatic PFNEGLWAITSYNCKHRPROC
1412e84fe556Smrgepoxy_eglWaitSyncKHR_resolver(void)
1413e84fe556Smrg{
1414e84fe556Smrg    return egl_single_resolver(EGL_extension_EGL_KHR_wait_sync, 2302 /* eglWaitSyncKHR */);
1415e84fe556Smrg}
1416e84fe556Smrg
1417e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglBindAPI, (EGLenum api), (api))
1418e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglBindTexImage, (EGLDisplay dpy, EGLSurface surface, EGLint buffer), (dpy, surface, buffer))
1419e84fe556SmrgGEN_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))
1420e84fe556SmrgGEN_THUNKS_RET(EGLint, eglClientWaitSync, (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout), (dpy, sync, flags, timeout))
1421e84fe556SmrgGEN_THUNKS_RET(EGLint, eglClientWaitSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout), (dpy, sync, flags, timeout))
1422e84fe556SmrgGEN_THUNKS_RET(EGLint, eglClientWaitSyncNV, (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout), (sync, flags, timeout))
1423e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglCopyBuffers, (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target), (dpy, surface, target))
1424e84fe556SmrgGEN_THUNKS_RET(EGLContext, eglCreateContext, (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list), (dpy, config, share_context, attrib_list))
1425e84fe556SmrgGEN_THUNKS_RET(EGLImageKHR, eglCreateDRMImageMESA, (EGLDisplay dpy, const EGLint * attrib_list), (dpy, attrib_list))
1426e84fe556SmrgGEN_THUNKS_RET(EGLSyncNV, eglCreateFenceSyncNV, (EGLDisplay dpy, EGLenum condition, const EGLint * attrib_list), (dpy, condition, attrib_list))
1427e84fe556SmrgGEN_THUNKS_RET(EGLImage, eglCreateImage, (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list), (dpy, ctx, target, buffer, attrib_list))
1428e84fe556SmrgGEN_THUNKS_RET(EGLImageKHR, eglCreateImageKHR, (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list), (dpy, ctx, target, buffer, attrib_list))
1429e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePbufferFromClientBuffer, (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list), (dpy, buftype, buffer, config, attrib_list))
1430e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePbufferSurface, (EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list), (dpy, config, attrib_list))
1431e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePixmapSurface, (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list), (dpy, config, pixmap, attrib_list))
1432e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePixmapSurfaceHI, (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI * pixmap), (dpy, config, pixmap))
1433e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePlatformPixmapSurface, (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLAttrib * attrib_list), (dpy, config, native_pixmap, attrib_list))
1434e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePlatformPixmapSurfaceEXT, (EGLDisplay dpy, EGLConfig config, void * native_pixmap, const EGLint * attrib_list), (dpy, config, native_pixmap, attrib_list))
1435e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePlatformWindowSurface, (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLAttrib * attrib_list), (dpy, config, native_window, attrib_list))
1436e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreatePlatformWindowSurfaceEXT, (EGLDisplay dpy, EGLConfig config, void * native_window, const EGLint * attrib_list), (dpy, config, native_window, attrib_list))
1437e84fe556SmrgGEN_THUNKS_RET(EGLStreamKHR, eglCreateStreamFromFileDescriptorKHR, (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor), (dpy, file_descriptor))
1438e84fe556SmrgGEN_THUNKS_RET(EGLStreamKHR, eglCreateStreamKHR, (EGLDisplay dpy, const EGLint * attrib_list), (dpy, attrib_list))
1439e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreateStreamProducerSurfaceKHR, (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint * attrib_list), (dpy, config, stream, attrib_list))
1440e84fe556SmrgGEN_THUNKS_RET(EGLSyncKHR, eglCreateStreamSyncNV, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint * attrib_list), (dpy, stream, type, attrib_list))
1441e84fe556SmrgGEN_THUNKS_RET(EGLSync, eglCreateSync, (EGLDisplay dpy, EGLenum type, const EGLAttrib * attrib_list), (dpy, type, attrib_list))
1442e84fe556SmrgGEN_THUNKS_RET(EGLSyncKHR, eglCreateSync64KHR, (EGLDisplay dpy, EGLenum type, const EGLAttribKHR * attrib_list), (dpy, type, attrib_list))
1443e84fe556SmrgGEN_THUNKS_RET(EGLSyncKHR, eglCreateSyncKHR, (EGLDisplay dpy, EGLenum type, const EGLint * attrib_list), (dpy, type, attrib_list))
1444e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglCreateWindowSurface, (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list), (dpy, config, win, attrib_list))
1445e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroyContext, (EGLDisplay dpy, EGLContext ctx), (dpy, ctx))
1446e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroyImage, (EGLDisplay dpy, EGLImage image), (dpy, image))
1447e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroyImageKHR, (EGLDisplay dpy, EGLImageKHR image), (dpy, image))
1448e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroyStreamKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
1449e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroySurface, (EGLDisplay dpy, EGLSurface surface), (dpy, surface))
1450e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroySync, (EGLDisplay dpy, EGLSync sync), (dpy, sync))
1451e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroySyncKHR, (EGLDisplay dpy, EGLSyncKHR sync), (dpy, sync))
1452e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglDestroySyncNV, (EGLSyncNV sync), (sync))
1453e84fe556SmrgGEN_THUNKS_RET(EGLint, eglDupNativeFenceFDANDROID, (EGLDisplay dpy, EGLSyncKHR sync), (dpy, sync))
1454e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglExportDMABUFImageMESA, (EGLDisplay dpy, EGLImageKHR image, int * fds, EGLint * strides, EGLint * offsets), (dpy, image, fds, strides, offsets))
1455e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglExportDMABUFImageQueryMESA, (EGLDisplay dpy, EGLImageKHR image, int * fourcc, int * num_planes, EGLuint64KHR * modifiers), (dpy, image, fourcc, num_planes, modifiers))
1456e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglExportDRMImageMESA, (EGLDisplay dpy, EGLImageKHR image, EGLint * name, EGLint * handle, EGLint * stride), (dpy, image, name, handle, stride))
1457e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglFenceNV, (EGLSyncNV sync), (sync))
1458e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglGetConfigAttrib, (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint * value), (dpy, config, attribute, value))
1459e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglGetConfigs, (EGLDisplay dpy, EGLConfig * configs, EGLint config_size, EGLint * num_config), (dpy, configs, config_size, num_config))
1460e84fe556SmrgGEN_THUNKS_RET(EGLContext, eglGetCurrentContext, (void), ())
1461e84fe556SmrgGEN_THUNKS_RET(EGLDisplay, eglGetCurrentDisplay, (void), ())
1462e84fe556SmrgGEN_THUNKS_RET(EGLSurface, eglGetCurrentSurface, (EGLint readdraw), (readdraw))
1463e84fe556SmrgGEN_THUNKS_RET(EGLDisplay, eglGetDisplay, (EGLNativeDisplayType display_id), (display_id))
1464e84fe556SmrgGEN_THUNKS_RET(EGLint, eglGetError, (void), ())
1465e84fe556SmrgGEN_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))
1466e84fe556SmrgGEN_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))
1467e84fe556SmrgGEN_THUNKS_RET(EGLDisplay, eglGetPlatformDisplay, (EGLenum platform, void * native_display, const EGLAttrib * attrib_list), (platform, native_display, attrib_list))
1468e84fe556SmrgGEN_THUNKS_RET(EGLDisplay, eglGetPlatformDisplayEXT, (EGLenum platform, void * native_display, const EGLint * attrib_list), (platform, native_display, attrib_list))
1469e84fe556SmrgGEN_THUNKS_RET(__eglMustCastToProperFunctionPointerType, eglGetProcAddress, (const char * procname), (procname))
1470e84fe556SmrgGEN_THUNKS_RET(EGLNativeFileDescriptorKHR, eglGetStreamFileDescriptorKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
1471e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglGetSyncAttrib, (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib * value), (dpy, sync, attribute, value))
1472e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglGetSyncAttribKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint * value), (dpy, sync, attribute, value))
1473e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglGetSyncAttribNV, (EGLSyncNV sync, EGLint attribute, EGLint * value), (sync, attribute, value))
1474e84fe556SmrgGEN_THUNKS_RET(EGLuint64NV, eglGetSystemTimeFrequencyNV, (void), ())
1475e84fe556SmrgGEN_THUNKS_RET(EGLuint64NV, eglGetSystemTimeNV, (void), ())
1476e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglInitialize, (EGLDisplay dpy, EGLint * major, EGLint * minor), (dpy, major, minor))
1477e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglLockSurfaceKHR, (EGLDisplay dpy, EGLSurface surface, const EGLint * attrib_list), (dpy, surface, attrib_list))
1478e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglMakeCurrent, (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx), (dpy, draw, read, ctx))
1479e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglOutputLayerAttribEXT, (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value), (dpy, layer, attribute, value))
1480e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglOutputPortAttribEXT, (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value), (dpy, port, attribute, value))
1481e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglPostSubBufferNV, (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height), (dpy, surface, x, y, width, height))
1482e84fe556SmrgGEN_THUNKS_RET(EGLenum, eglQueryAPI, (void), ())
1483e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryContext, (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint * value), (dpy, ctx, attribute, value))
1484e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryDeviceAttribEXT, (EGLDeviceEXT device, EGLint attribute, EGLAttrib * value), (device, attribute, value))
1485e84fe556SmrgGEN_THUNKS_RET(const char *, eglQueryDeviceStringEXT, (EGLDeviceEXT device, EGLint name), (device, name))
1486e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryDevicesEXT, (EGLint max_devices, EGLDeviceEXT * devices, EGLint * num_devices), (max_devices, devices, num_devices))
1487e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryDisplayAttribEXT, (EGLDisplay dpy, EGLint attribute, EGLAttrib * value), (dpy, attribute, value))
1488e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryNativeDisplayNV, (EGLDisplay dpy, EGLNativeDisplayType * display_id), (dpy, display_id))
1489e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryNativePixmapNV, (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType * pixmap), (dpy, surf, pixmap))
1490e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryNativeWindowNV, (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType * window), (dpy, surf, window))
1491e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryOutputLayerAttribEXT, (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib * value), (dpy, layer, attribute, value))
1492e84fe556SmrgGEN_THUNKS_RET(const char *, eglQueryOutputLayerStringEXT, (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name), (dpy, layer, name))
1493e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryOutputPortAttribEXT, (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib * value), (dpy, port, attribute, value))
1494e84fe556SmrgGEN_THUNKS_RET(const char *, eglQueryOutputPortStringEXT, (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name), (dpy, port, name))
1495e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryStreamKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint * value), (dpy, stream, attribute, value))
1496e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryStreamTimeKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR * value), (dpy, stream, attribute, value))
1497e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQueryStreamu64KHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR * value), (dpy, stream, attribute, value))
1498e84fe556SmrgGEN_THUNKS_RET(const char *, eglQueryString, (EGLDisplay dpy, EGLint name), (dpy, name))
1499e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQuerySurface, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint * value), (dpy, surface, attribute, value))
1500e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQuerySurface64KHR, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR * value), (dpy, surface, attribute, value))
1501e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglQuerySurfacePointerANGLE, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void ** value), (dpy, surface, attribute, value))
1502e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglReleaseTexImage, (EGLDisplay dpy, EGLSurface surface, EGLint buffer), (dpy, surface, buffer))
1503e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglReleaseThread, (void), ())
1504e84fe556SmrgGEN_THUNKS(eglSetBlobCacheFuncsANDROID, (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get), (dpy, set, get))
1505e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSetDamageRegionKHR, (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects), (dpy, surface, rects, n_rects))
1506e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSignalSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode), (dpy, sync, mode))
1507e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSignalSyncNV, (EGLSyncNV sync, EGLenum mode), (sync, mode))
1508e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglStreamAttribKHR, (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value), (dpy, stream, attribute, value))
1509e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglStreamConsumerAcquireKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
1510e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglStreamConsumerGLTextureExternalKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
1511e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglStreamConsumerOutputEXT, (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer), (dpy, stream, layer))
1512e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglStreamConsumerReleaseKHR, (EGLDisplay dpy, EGLStreamKHR stream), (dpy, stream))
1513e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSurfaceAttrib, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value), (dpy, surface, attribute, value))
1514e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSwapBuffers, (EGLDisplay dpy, EGLSurface surface), (dpy, surface))
1515e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSwapBuffersRegion2NOK, (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects), (dpy, surface, numRects, rects))
1516e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSwapBuffersRegionNOK, (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint * rects), (dpy, surface, numRects, rects))
1517e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSwapBuffersWithDamageEXT, (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects), (dpy, surface, rects, n_rects))
1518e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSwapBuffersWithDamageKHR, (EGLDisplay dpy, EGLSurface surface, EGLint * rects, EGLint n_rects), (dpy, surface, rects, n_rects))
1519e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglSwapInterval, (EGLDisplay dpy, EGLint interval), (dpy, interval))
1520e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglTerminate, (EGLDisplay dpy), (dpy))
1521e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglUnlockSurfaceKHR, (EGLDisplay dpy, EGLSurface surface), (dpy, surface))
1522e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglWaitClient, (void), ())
1523e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglWaitGL, (void), ())
1524e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglWaitNative, (EGLint engine), (engine))
1525e84fe556SmrgGEN_THUNKS_RET(EGLBoolean, eglWaitSync, (EGLDisplay dpy, EGLSync sync, EGLint flags), (dpy, sync, flags))
1526e84fe556SmrgGEN_THUNKS_RET(EGLint, eglWaitSyncKHR, (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags), (dpy, sync, flags))
1527e84fe556Smrg
1528e84fe556Smrg#if USING_DISPATCH_TABLE
1529e84fe556Smrgstatic struct dispatch_table resolver_table = {
1530e84fe556Smrg    .eglBindAPI = epoxy_eglBindAPI_dispatch_table_rewrite_ptr,
1531e84fe556Smrg    .eglBindTexImage = epoxy_eglBindTexImage_dispatch_table_rewrite_ptr,
1532e84fe556Smrg    .eglChooseConfig = epoxy_eglChooseConfig_dispatch_table_rewrite_ptr,
1533e84fe556Smrg    .eglClientWaitSync = epoxy_eglClientWaitSync_dispatch_table_rewrite_ptr,
1534e84fe556Smrg    .eglClientWaitSyncKHR = epoxy_eglClientWaitSyncKHR_dispatch_table_rewrite_ptr,
1535e84fe556Smrg    .eglClientWaitSyncNV = epoxy_eglClientWaitSyncNV_dispatch_table_rewrite_ptr,
1536e84fe556Smrg    .eglCopyBuffers = epoxy_eglCopyBuffers_dispatch_table_rewrite_ptr,
1537e84fe556Smrg    .eglCreateContext = epoxy_eglCreateContext_dispatch_table_rewrite_ptr,
1538e84fe556Smrg    .eglCreateDRMImageMESA = epoxy_eglCreateDRMImageMESA_dispatch_table_rewrite_ptr,
1539e84fe556Smrg    .eglCreateFenceSyncNV = epoxy_eglCreateFenceSyncNV_dispatch_table_rewrite_ptr,
1540e84fe556Smrg    .eglCreateImage = epoxy_eglCreateImage_dispatch_table_rewrite_ptr,
1541e84fe556Smrg    .eglCreateImageKHR = epoxy_eglCreateImageKHR_dispatch_table_rewrite_ptr,
1542e84fe556Smrg    .eglCreatePbufferFromClientBuffer = epoxy_eglCreatePbufferFromClientBuffer_dispatch_table_rewrite_ptr,
1543e84fe556Smrg    .eglCreatePbufferSurface = epoxy_eglCreatePbufferSurface_dispatch_table_rewrite_ptr,
1544e84fe556Smrg    .eglCreatePixmapSurface = epoxy_eglCreatePixmapSurface_dispatch_table_rewrite_ptr,
1545e84fe556Smrg    .eglCreatePixmapSurfaceHI = epoxy_eglCreatePixmapSurfaceHI_dispatch_table_rewrite_ptr,
1546e84fe556Smrg    .eglCreatePlatformPixmapSurface = epoxy_eglCreatePlatformPixmapSurface_dispatch_table_rewrite_ptr,
1547e84fe556Smrg    .eglCreatePlatformPixmapSurfaceEXT = epoxy_eglCreatePlatformPixmapSurfaceEXT_dispatch_table_rewrite_ptr,
1548e84fe556Smrg    .eglCreatePlatformWindowSurface = epoxy_eglCreatePlatformWindowSurface_dispatch_table_rewrite_ptr,
1549e84fe556Smrg    .eglCreatePlatformWindowSurfaceEXT = epoxy_eglCreatePlatformWindowSurfaceEXT_dispatch_table_rewrite_ptr,
1550e84fe556Smrg    .eglCreateStreamFromFileDescriptorKHR = epoxy_eglCreateStreamFromFileDescriptorKHR_dispatch_table_rewrite_ptr,
1551e84fe556Smrg    .eglCreateStreamKHR = epoxy_eglCreateStreamKHR_dispatch_table_rewrite_ptr,
1552e84fe556Smrg    .eglCreateStreamProducerSurfaceKHR = epoxy_eglCreateStreamProducerSurfaceKHR_dispatch_table_rewrite_ptr,
1553e84fe556Smrg    .eglCreateStreamSyncNV = epoxy_eglCreateStreamSyncNV_dispatch_table_rewrite_ptr,
1554e84fe556Smrg    .eglCreateSync = epoxy_eglCreateSync_dispatch_table_rewrite_ptr,
1555e84fe556Smrg    .eglCreateSync64KHR = epoxy_eglCreateSync64KHR_dispatch_table_rewrite_ptr,
1556e84fe556Smrg    .eglCreateSyncKHR = epoxy_eglCreateSyncKHR_dispatch_table_rewrite_ptr,
1557e84fe556Smrg    .eglCreateWindowSurface = epoxy_eglCreateWindowSurface_dispatch_table_rewrite_ptr,
1558e84fe556Smrg    .eglDestroyContext = epoxy_eglDestroyContext_dispatch_table_rewrite_ptr,
1559e84fe556Smrg    .eglDestroyImage = epoxy_eglDestroyImage_dispatch_table_rewrite_ptr,
1560e84fe556Smrg    .eglDestroyImageKHR = epoxy_eglDestroyImageKHR_dispatch_table_rewrite_ptr,
1561e84fe556Smrg    .eglDestroyStreamKHR = epoxy_eglDestroyStreamKHR_dispatch_table_rewrite_ptr,
1562e84fe556Smrg    .eglDestroySurface = epoxy_eglDestroySurface_dispatch_table_rewrite_ptr,
1563e84fe556Smrg    .eglDestroySync = epoxy_eglDestroySync_dispatch_table_rewrite_ptr,
1564e84fe556Smrg    .eglDestroySyncKHR = epoxy_eglDestroySyncKHR_dispatch_table_rewrite_ptr,
1565e84fe556Smrg    .eglDestroySyncNV = epoxy_eglDestroySyncNV_dispatch_table_rewrite_ptr,
1566e84fe556Smrg    .eglDupNativeFenceFDANDROID = epoxy_eglDupNativeFenceFDANDROID_dispatch_table_rewrite_ptr,
1567e84fe556Smrg    .eglExportDMABUFImageMESA = epoxy_eglExportDMABUFImageMESA_dispatch_table_rewrite_ptr,
1568e84fe556Smrg    .eglExportDMABUFImageQueryMESA = epoxy_eglExportDMABUFImageQueryMESA_dispatch_table_rewrite_ptr,
1569e84fe556Smrg    .eglExportDRMImageMESA = epoxy_eglExportDRMImageMESA_dispatch_table_rewrite_ptr,
1570e84fe556Smrg    .eglFenceNV = epoxy_eglFenceNV_dispatch_table_rewrite_ptr,
1571e84fe556Smrg    .eglGetConfigAttrib = epoxy_eglGetConfigAttrib_dispatch_table_rewrite_ptr,
1572e84fe556Smrg    .eglGetConfigs = epoxy_eglGetConfigs_dispatch_table_rewrite_ptr,
1573e84fe556Smrg    .eglGetCurrentContext = epoxy_eglGetCurrentContext_dispatch_table_rewrite_ptr,
1574e84fe556Smrg    .eglGetCurrentDisplay = epoxy_eglGetCurrentDisplay_dispatch_table_rewrite_ptr,
1575e84fe556Smrg    .eglGetCurrentSurface = epoxy_eglGetCurrentSurface_dispatch_table_rewrite_ptr,
1576e84fe556Smrg    .eglGetDisplay = epoxy_eglGetDisplay_dispatch_table_rewrite_ptr,
1577e84fe556Smrg    .eglGetError = epoxy_eglGetError_dispatch_table_rewrite_ptr,
1578e84fe556Smrg    .eglGetOutputLayersEXT = epoxy_eglGetOutputLayersEXT_dispatch_table_rewrite_ptr,
1579e84fe556Smrg    .eglGetOutputPortsEXT = epoxy_eglGetOutputPortsEXT_dispatch_table_rewrite_ptr,
1580e84fe556Smrg    .eglGetPlatformDisplay = epoxy_eglGetPlatformDisplay_dispatch_table_rewrite_ptr,
1581e84fe556Smrg    .eglGetPlatformDisplayEXT = epoxy_eglGetPlatformDisplayEXT_dispatch_table_rewrite_ptr,
1582e84fe556Smrg    .eglGetProcAddress = epoxy_eglGetProcAddress_dispatch_table_rewrite_ptr,
1583e84fe556Smrg    .eglGetStreamFileDescriptorKHR = epoxy_eglGetStreamFileDescriptorKHR_dispatch_table_rewrite_ptr,
1584e84fe556Smrg    .eglGetSyncAttrib = epoxy_eglGetSyncAttrib_dispatch_table_rewrite_ptr,
1585e84fe556Smrg    .eglGetSyncAttribKHR = epoxy_eglGetSyncAttribKHR_dispatch_table_rewrite_ptr,
1586e84fe556Smrg    .eglGetSyncAttribNV = epoxy_eglGetSyncAttribNV_dispatch_table_rewrite_ptr,
1587e84fe556Smrg    .eglGetSystemTimeFrequencyNV = epoxy_eglGetSystemTimeFrequencyNV_dispatch_table_rewrite_ptr,
1588e84fe556Smrg    .eglGetSystemTimeNV = epoxy_eglGetSystemTimeNV_dispatch_table_rewrite_ptr,
1589e84fe556Smrg    .eglInitialize = epoxy_eglInitialize_dispatch_table_rewrite_ptr,
1590e84fe556Smrg    .eglLockSurfaceKHR = epoxy_eglLockSurfaceKHR_dispatch_table_rewrite_ptr,
1591e84fe556Smrg    .eglMakeCurrent = epoxy_eglMakeCurrent_dispatch_table_rewrite_ptr,
1592e84fe556Smrg    .eglOutputLayerAttribEXT = epoxy_eglOutputLayerAttribEXT_dispatch_table_rewrite_ptr,
1593e84fe556Smrg    .eglOutputPortAttribEXT = epoxy_eglOutputPortAttribEXT_dispatch_table_rewrite_ptr,
1594e84fe556Smrg    .eglPostSubBufferNV = epoxy_eglPostSubBufferNV_dispatch_table_rewrite_ptr,
1595e84fe556Smrg    .eglQueryAPI = epoxy_eglQueryAPI_dispatch_table_rewrite_ptr,
1596e84fe556Smrg    .eglQueryContext = epoxy_eglQueryContext_dispatch_table_rewrite_ptr,
1597e84fe556Smrg    .eglQueryDeviceAttribEXT = epoxy_eglQueryDeviceAttribEXT_dispatch_table_rewrite_ptr,
1598e84fe556Smrg    .eglQueryDeviceStringEXT = epoxy_eglQueryDeviceStringEXT_dispatch_table_rewrite_ptr,
1599e84fe556Smrg    .eglQueryDevicesEXT = epoxy_eglQueryDevicesEXT_dispatch_table_rewrite_ptr,
1600e84fe556Smrg    .eglQueryDisplayAttribEXT = epoxy_eglQueryDisplayAttribEXT_dispatch_table_rewrite_ptr,
1601e84fe556Smrg    .eglQueryNativeDisplayNV = epoxy_eglQueryNativeDisplayNV_dispatch_table_rewrite_ptr,
1602e84fe556Smrg    .eglQueryNativePixmapNV = epoxy_eglQueryNativePixmapNV_dispatch_table_rewrite_ptr,
1603e84fe556Smrg    .eglQueryNativeWindowNV = epoxy_eglQueryNativeWindowNV_dispatch_table_rewrite_ptr,
1604e84fe556Smrg    .eglQueryOutputLayerAttribEXT = epoxy_eglQueryOutputLayerAttribEXT_dispatch_table_rewrite_ptr,
1605e84fe556Smrg    .eglQueryOutputLayerStringEXT = epoxy_eglQueryOutputLayerStringEXT_dispatch_table_rewrite_ptr,
1606e84fe556Smrg    .eglQueryOutputPortAttribEXT = epoxy_eglQueryOutputPortAttribEXT_dispatch_table_rewrite_ptr,
1607e84fe556Smrg    .eglQueryOutputPortStringEXT = epoxy_eglQueryOutputPortStringEXT_dispatch_table_rewrite_ptr,
1608e84fe556Smrg    .eglQueryStreamKHR = epoxy_eglQueryStreamKHR_dispatch_table_rewrite_ptr,
1609e84fe556Smrg    .eglQueryStreamTimeKHR = epoxy_eglQueryStreamTimeKHR_dispatch_table_rewrite_ptr,
1610e84fe556Smrg    .eglQueryStreamu64KHR = epoxy_eglQueryStreamu64KHR_dispatch_table_rewrite_ptr,
1611e84fe556Smrg    .eglQueryString = epoxy_eglQueryString_dispatch_table_rewrite_ptr,
1612e84fe556Smrg    .eglQuerySurface = epoxy_eglQuerySurface_dispatch_table_rewrite_ptr,
1613e84fe556Smrg    .eglQuerySurface64KHR = epoxy_eglQuerySurface64KHR_dispatch_table_rewrite_ptr,
1614e84fe556Smrg    .eglQuerySurfacePointerANGLE = epoxy_eglQuerySurfacePointerANGLE_dispatch_table_rewrite_ptr,
1615e84fe556Smrg    .eglReleaseTexImage = epoxy_eglReleaseTexImage_dispatch_table_rewrite_ptr,
1616e84fe556Smrg    .eglReleaseThread = epoxy_eglReleaseThread_dispatch_table_rewrite_ptr,
1617e84fe556Smrg    .eglSetBlobCacheFuncsANDROID = epoxy_eglSetBlobCacheFuncsANDROID_dispatch_table_rewrite_ptr,
1618e84fe556Smrg    .eglSetDamageRegionKHR = epoxy_eglSetDamageRegionKHR_dispatch_table_rewrite_ptr,
1619e84fe556Smrg    .eglSignalSyncKHR = epoxy_eglSignalSyncKHR_dispatch_table_rewrite_ptr,
1620e84fe556Smrg    .eglSignalSyncNV = epoxy_eglSignalSyncNV_dispatch_table_rewrite_ptr,
1621e84fe556Smrg    .eglStreamAttribKHR = epoxy_eglStreamAttribKHR_dispatch_table_rewrite_ptr,
1622e84fe556Smrg    .eglStreamConsumerAcquireKHR = epoxy_eglStreamConsumerAcquireKHR_dispatch_table_rewrite_ptr,
1623e84fe556Smrg    .eglStreamConsumerGLTextureExternalKHR = epoxy_eglStreamConsumerGLTextureExternalKHR_dispatch_table_rewrite_ptr,
1624e84fe556Smrg    .eglStreamConsumerOutputEXT = epoxy_eglStreamConsumerOutputEXT_dispatch_table_rewrite_ptr,
1625e84fe556Smrg    .eglStreamConsumerReleaseKHR = epoxy_eglStreamConsumerReleaseKHR_dispatch_table_rewrite_ptr,
1626e84fe556Smrg    .eglSurfaceAttrib = epoxy_eglSurfaceAttrib_dispatch_table_rewrite_ptr,
1627e84fe556Smrg    .eglSwapBuffers = epoxy_eglSwapBuffers_dispatch_table_rewrite_ptr,
1628e84fe556Smrg    .eglSwapBuffersRegion2NOK = epoxy_eglSwapBuffersRegion2NOK_dispatch_table_rewrite_ptr,
1629e84fe556Smrg    .eglSwapBuffersRegionNOK = epoxy_eglSwapBuffersRegionNOK_dispatch_table_rewrite_ptr,
1630e84fe556Smrg    .eglSwapBuffersWithDamageEXT = epoxy_eglSwapBuffersWithDamageEXT_dispatch_table_rewrite_ptr,
1631e84fe556Smrg    .eglSwapBuffersWithDamageKHR = epoxy_eglSwapBuffersWithDamageKHR_dispatch_table_rewrite_ptr,
1632e84fe556Smrg    .eglSwapInterval = epoxy_eglSwapInterval_dispatch_table_rewrite_ptr,
1633e84fe556Smrg    .eglTerminate = epoxy_eglTerminate_dispatch_table_rewrite_ptr,
1634e84fe556Smrg    .eglUnlockSurfaceKHR = epoxy_eglUnlockSurfaceKHR_dispatch_table_rewrite_ptr,
1635e84fe556Smrg    .eglWaitClient = epoxy_eglWaitClient_dispatch_table_rewrite_ptr,
1636e84fe556Smrg    .eglWaitGL = epoxy_eglWaitGL_dispatch_table_rewrite_ptr,
1637e84fe556Smrg    .eglWaitNative = epoxy_eglWaitNative_dispatch_table_rewrite_ptr,
1638e84fe556Smrg    .eglWaitSync = epoxy_eglWaitSync_dispatch_table_rewrite_ptr,
1639e84fe556Smrg    .eglWaitSyncKHR = epoxy_eglWaitSyncKHR_dispatch_table_rewrite_ptr,
1640e84fe556Smrg};
1641e84fe556Smrg
1642e84fe556Smrguint32_t egl_tls_index;
1643e84fe556Smrguint32_t egl_tls_size = sizeof(struct dispatch_table);
1644e84fe556Smrg
1645e84fe556Smrgstatic inline struct dispatch_table *
1646e84fe556Smrgget_dispatch_table(void)
1647e84fe556Smrg{
1648e84fe556Smrg	return TlsGetValue(egl_tls_index);
1649e84fe556Smrg}
1650e84fe556Smrg
1651e84fe556Smrgvoid
1652e84fe556Smrgegl_init_dispatch_table(void)
1653e84fe556Smrg{
1654e84fe556Smrg    struct dispatch_table *dispatch_table = get_dispatch_table();
1655e84fe556Smrg    memcpy(dispatch_table, &resolver_table, sizeof(resolver_table));
1656e84fe556Smrg}
1657e84fe556Smrg
1658e84fe556Smrgvoid
1659e84fe556Smrgegl_switch_to_dispatch_table(void)
1660e84fe556Smrg{
1661e84fe556Smrg    epoxy_eglBindAPI = epoxy_eglBindAPI_dispatch_table_thunk;
1662e84fe556Smrg    epoxy_eglBindTexImage = epoxy_eglBindTexImage_dispatch_table_thunk;
1663e84fe556Smrg    epoxy_eglChooseConfig = epoxy_eglChooseConfig_dispatch_table_thunk;
1664e84fe556Smrg    epoxy_eglClientWaitSync = epoxy_eglClientWaitSync_dispatch_table_thunk;
1665e84fe556Smrg    epoxy_eglClientWaitSyncKHR = epoxy_eglClientWaitSyncKHR_dispatch_table_thunk;
1666e84fe556Smrg    epoxy_eglClientWaitSyncNV = epoxy_eglClientWaitSyncNV_dispatch_table_thunk;
1667e84fe556Smrg    epoxy_eglCopyBuffers = epoxy_eglCopyBuffers_dispatch_table_thunk;
1668e84fe556Smrg    epoxy_eglCreateContext = epoxy_eglCreateContext_dispatch_table_thunk;
1669e84fe556Smrg    epoxy_eglCreateDRMImageMESA = epoxy_eglCreateDRMImageMESA_dispatch_table_thunk;
1670e84fe556Smrg    epoxy_eglCreateFenceSyncNV = epoxy_eglCreateFenceSyncNV_dispatch_table_thunk;
1671e84fe556Smrg    epoxy_eglCreateImage = epoxy_eglCreateImage_dispatch_table_thunk;
1672e84fe556Smrg    epoxy_eglCreateImageKHR = epoxy_eglCreateImageKHR_dispatch_table_thunk;
1673e84fe556Smrg    epoxy_eglCreatePbufferFromClientBuffer = epoxy_eglCreatePbufferFromClientBuffer_dispatch_table_thunk;
1674e84fe556Smrg    epoxy_eglCreatePbufferSurface = epoxy_eglCreatePbufferSurface_dispatch_table_thunk;
1675e84fe556Smrg    epoxy_eglCreatePixmapSurface = epoxy_eglCreatePixmapSurface_dispatch_table_thunk;
1676e84fe556Smrg    epoxy_eglCreatePixmapSurfaceHI = epoxy_eglCreatePixmapSurfaceHI_dispatch_table_thunk;
1677e84fe556Smrg    epoxy_eglCreatePlatformPixmapSurface = epoxy_eglCreatePlatformPixmapSurface_dispatch_table_thunk;
1678e84fe556Smrg    epoxy_eglCreatePlatformPixmapSurfaceEXT = epoxy_eglCreatePlatformPixmapSurfaceEXT_dispatch_table_thunk;
1679e84fe556Smrg    epoxy_eglCreatePlatformWindowSurface = epoxy_eglCreatePlatformWindowSurface_dispatch_table_thunk;
1680e84fe556Smrg    epoxy_eglCreatePlatformWindowSurfaceEXT = epoxy_eglCreatePlatformWindowSurfaceEXT_dispatch_table_thunk;
1681e84fe556Smrg    epoxy_eglCreateStreamFromFileDescriptorKHR = epoxy_eglCreateStreamFromFileDescriptorKHR_dispatch_table_thunk;
1682e84fe556Smrg    epoxy_eglCreateStreamKHR = epoxy_eglCreateStreamKHR_dispatch_table_thunk;
1683e84fe556Smrg    epoxy_eglCreateStreamProducerSurfaceKHR = epoxy_eglCreateStreamProducerSurfaceKHR_dispatch_table_thunk;
1684e84fe556Smrg    epoxy_eglCreateStreamSyncNV = epoxy_eglCreateStreamSyncNV_dispatch_table_thunk;
1685e84fe556Smrg    epoxy_eglCreateSync = epoxy_eglCreateSync_dispatch_table_thunk;
1686e84fe556Smrg    epoxy_eglCreateSync64KHR = epoxy_eglCreateSync64KHR_dispatch_table_thunk;
1687e84fe556Smrg    epoxy_eglCreateSyncKHR = epoxy_eglCreateSyncKHR_dispatch_table_thunk;
1688e84fe556Smrg    epoxy_eglCreateWindowSurface = epoxy_eglCreateWindowSurface_dispatch_table_thunk;
1689e84fe556Smrg    epoxy_eglDestroyContext = epoxy_eglDestroyContext_dispatch_table_thunk;
1690e84fe556Smrg    epoxy_eglDestroyImage = epoxy_eglDestroyImage_dispatch_table_thunk;
1691e84fe556Smrg    epoxy_eglDestroyImageKHR = epoxy_eglDestroyImageKHR_dispatch_table_thunk;
1692e84fe556Smrg    epoxy_eglDestroyStreamKHR = epoxy_eglDestroyStreamKHR_dispatch_table_thunk;
1693e84fe556Smrg    epoxy_eglDestroySurface = epoxy_eglDestroySurface_dispatch_table_thunk;
1694e84fe556Smrg    epoxy_eglDestroySync = epoxy_eglDestroySync_dispatch_table_thunk;
1695e84fe556Smrg    epoxy_eglDestroySyncKHR = epoxy_eglDestroySyncKHR_dispatch_table_thunk;
1696e84fe556Smrg    epoxy_eglDestroySyncNV = epoxy_eglDestroySyncNV_dispatch_table_thunk;
1697e84fe556Smrg    epoxy_eglDupNativeFenceFDANDROID = epoxy_eglDupNativeFenceFDANDROID_dispatch_table_thunk;
1698e84fe556Smrg    epoxy_eglExportDMABUFImageMESA = epoxy_eglExportDMABUFImageMESA_dispatch_table_thunk;
1699e84fe556Smrg    epoxy_eglExportDMABUFImageQueryMESA = epoxy_eglExportDMABUFImageQueryMESA_dispatch_table_thunk;
1700e84fe556Smrg    epoxy_eglExportDRMImageMESA = epoxy_eglExportDRMImageMESA_dispatch_table_thunk;
1701e84fe556Smrg    epoxy_eglFenceNV = epoxy_eglFenceNV_dispatch_table_thunk;
1702e84fe556Smrg    epoxy_eglGetConfigAttrib = epoxy_eglGetConfigAttrib_dispatch_table_thunk;
1703e84fe556Smrg    epoxy_eglGetConfigs = epoxy_eglGetConfigs_dispatch_table_thunk;
1704e84fe556Smrg    epoxy_eglGetCurrentContext = epoxy_eglGetCurrentContext_dispatch_table_thunk;
1705e84fe556Smrg    epoxy_eglGetCurrentDisplay = epoxy_eglGetCurrentDisplay_dispatch_table_thunk;
1706e84fe556Smrg    epoxy_eglGetCurrentSurface = epoxy_eglGetCurrentSurface_dispatch_table_thunk;
1707e84fe556Smrg    epoxy_eglGetDisplay = epoxy_eglGetDisplay_dispatch_table_thunk;
1708e84fe556Smrg    epoxy_eglGetError = epoxy_eglGetError_dispatch_table_thunk;
1709e84fe556Smrg    epoxy_eglGetOutputLayersEXT = epoxy_eglGetOutputLayersEXT_dispatch_table_thunk;
1710e84fe556Smrg    epoxy_eglGetOutputPortsEXT = epoxy_eglGetOutputPortsEXT_dispatch_table_thunk;
1711e84fe556Smrg    epoxy_eglGetPlatformDisplay = epoxy_eglGetPlatformDisplay_dispatch_table_thunk;
1712e84fe556Smrg    epoxy_eglGetPlatformDisplayEXT = epoxy_eglGetPlatformDisplayEXT_dispatch_table_thunk;
1713e84fe556Smrg    epoxy_eglGetProcAddress = epoxy_eglGetProcAddress_dispatch_table_thunk;
1714e84fe556Smrg    epoxy_eglGetStreamFileDescriptorKHR = epoxy_eglGetStreamFileDescriptorKHR_dispatch_table_thunk;
1715e84fe556Smrg    epoxy_eglGetSyncAttrib = epoxy_eglGetSyncAttrib_dispatch_table_thunk;
1716e84fe556Smrg    epoxy_eglGetSyncAttribKHR = epoxy_eglGetSyncAttribKHR_dispatch_table_thunk;
1717e84fe556Smrg    epoxy_eglGetSyncAttribNV = epoxy_eglGetSyncAttribNV_dispatch_table_thunk;
1718e84fe556Smrg    epoxy_eglGetSystemTimeFrequencyNV = epoxy_eglGetSystemTimeFrequencyNV_dispatch_table_thunk;
1719e84fe556Smrg    epoxy_eglGetSystemTimeNV = epoxy_eglGetSystemTimeNV_dispatch_table_thunk;
1720e84fe556Smrg    epoxy_eglInitialize = epoxy_eglInitialize_dispatch_table_thunk;
1721e84fe556Smrg    epoxy_eglLockSurfaceKHR = epoxy_eglLockSurfaceKHR_dispatch_table_thunk;
1722e84fe556Smrg    epoxy_eglMakeCurrent = epoxy_eglMakeCurrent_dispatch_table_thunk;
1723e84fe556Smrg    epoxy_eglOutputLayerAttribEXT = epoxy_eglOutputLayerAttribEXT_dispatch_table_thunk;
1724e84fe556Smrg    epoxy_eglOutputPortAttribEXT = epoxy_eglOutputPortAttribEXT_dispatch_table_thunk;
1725e84fe556Smrg    epoxy_eglPostSubBufferNV = epoxy_eglPostSubBufferNV_dispatch_table_thunk;
1726e84fe556Smrg    epoxy_eglQueryAPI = epoxy_eglQueryAPI_dispatch_table_thunk;
1727e84fe556Smrg    epoxy_eglQueryContext = epoxy_eglQueryContext_dispatch_table_thunk;
1728e84fe556Smrg    epoxy_eglQueryDeviceAttribEXT = epoxy_eglQueryDeviceAttribEXT_dispatch_table_thunk;
1729e84fe556Smrg    epoxy_eglQueryDeviceStringEXT = epoxy_eglQueryDeviceStringEXT_dispatch_table_thunk;
1730e84fe556Smrg    epoxy_eglQueryDevicesEXT = epoxy_eglQueryDevicesEXT_dispatch_table_thunk;
1731e84fe556Smrg    epoxy_eglQueryDisplayAttribEXT = epoxy_eglQueryDisplayAttribEXT_dispatch_table_thunk;
1732e84fe556Smrg    epoxy_eglQueryNativeDisplayNV = epoxy_eglQueryNativeDisplayNV_dispatch_table_thunk;
1733e84fe556Smrg    epoxy_eglQueryNativePixmapNV = epoxy_eglQueryNativePixmapNV_dispatch_table_thunk;
1734e84fe556Smrg    epoxy_eglQueryNativeWindowNV = epoxy_eglQueryNativeWindowNV_dispatch_table_thunk;
1735e84fe556Smrg    epoxy_eglQueryOutputLayerAttribEXT = epoxy_eglQueryOutputLayerAttribEXT_dispatch_table_thunk;
1736e84fe556Smrg    epoxy_eglQueryOutputLayerStringEXT = epoxy_eglQueryOutputLayerStringEXT_dispatch_table_thunk;
1737e84fe556Smrg    epoxy_eglQueryOutputPortAttribEXT = epoxy_eglQueryOutputPortAttribEXT_dispatch_table_thunk;
1738e84fe556Smrg    epoxy_eglQueryOutputPortStringEXT = epoxy_eglQueryOutputPortStringEXT_dispatch_table_thunk;
1739e84fe556Smrg    epoxy_eglQueryStreamKHR = epoxy_eglQueryStreamKHR_dispatch_table_thunk;
1740e84fe556Smrg    epoxy_eglQueryStreamTimeKHR = epoxy_eglQueryStreamTimeKHR_dispatch_table_thunk;
1741e84fe556Smrg    epoxy_eglQueryStreamu64KHR = epoxy_eglQueryStreamu64KHR_dispatch_table_thunk;
1742e84fe556Smrg    epoxy_eglQueryString = epoxy_eglQueryString_dispatch_table_thunk;
1743e84fe556Smrg    epoxy_eglQuerySurface = epoxy_eglQuerySurface_dispatch_table_thunk;
1744e84fe556Smrg    epoxy_eglQuerySurface64KHR = epoxy_eglQuerySurface64KHR_dispatch_table_thunk;
1745e84fe556Smrg    epoxy_eglQuerySurfacePointerANGLE = epoxy_eglQuerySurfacePointerANGLE_dispatch_table_thunk;
1746e84fe556Smrg    epoxy_eglReleaseTexImage = epoxy_eglReleaseTexImage_dispatch_table_thunk;
1747e84fe556Smrg    epoxy_eglReleaseThread = epoxy_eglReleaseThread_dispatch_table_thunk;
1748e84fe556Smrg    epoxy_eglSetBlobCacheFuncsANDROID = epoxy_eglSetBlobCacheFuncsANDROID_dispatch_table_thunk;
1749e84fe556Smrg    epoxy_eglSetDamageRegionKHR = epoxy_eglSetDamageRegionKHR_dispatch_table_thunk;
1750e84fe556Smrg    epoxy_eglSignalSyncKHR = epoxy_eglSignalSyncKHR_dispatch_table_thunk;
1751e84fe556Smrg    epoxy_eglSignalSyncNV = epoxy_eglSignalSyncNV_dispatch_table_thunk;
1752e84fe556Smrg    epoxy_eglStreamAttribKHR = epoxy_eglStreamAttribKHR_dispatch_table_thunk;
1753e84fe556Smrg    epoxy_eglStreamConsumerAcquireKHR = epoxy_eglStreamConsumerAcquireKHR_dispatch_table_thunk;
1754e84fe556Smrg    epoxy_eglStreamConsumerGLTextureExternalKHR = epoxy_eglStreamConsumerGLTextureExternalKHR_dispatch_table_thunk;
1755e84fe556Smrg    epoxy_eglStreamConsumerOutputEXT = epoxy_eglStreamConsumerOutputEXT_dispatch_table_thunk;
1756e84fe556Smrg    epoxy_eglStreamConsumerReleaseKHR = epoxy_eglStreamConsumerReleaseKHR_dispatch_table_thunk;
1757e84fe556Smrg    epoxy_eglSurfaceAttrib = epoxy_eglSurfaceAttrib_dispatch_table_thunk;
1758e84fe556Smrg    epoxy_eglSwapBuffers = epoxy_eglSwapBuffers_dispatch_table_thunk;
1759e84fe556Smrg    epoxy_eglSwapBuffersRegion2NOK = epoxy_eglSwapBuffersRegion2NOK_dispatch_table_thunk;
1760e84fe556Smrg    epoxy_eglSwapBuffersRegionNOK = epoxy_eglSwapBuffersRegionNOK_dispatch_table_thunk;
1761e84fe556Smrg    epoxy_eglSwapBuffersWithDamageEXT = epoxy_eglSwapBuffersWithDamageEXT_dispatch_table_thunk;
1762e84fe556Smrg    epoxy_eglSwapBuffersWithDamageKHR = epoxy_eglSwapBuffersWithDamageKHR_dispatch_table_thunk;
1763e84fe556Smrg    epoxy_eglSwapInterval = epoxy_eglSwapInterval_dispatch_table_thunk;
1764e84fe556Smrg    epoxy_eglTerminate = epoxy_eglTerminate_dispatch_table_thunk;
1765e84fe556Smrg    epoxy_eglUnlockSurfaceKHR = epoxy_eglUnlockSurfaceKHR_dispatch_table_thunk;
1766e84fe556Smrg    epoxy_eglWaitClient = epoxy_eglWaitClient_dispatch_table_thunk;
1767e84fe556Smrg    epoxy_eglWaitGL = epoxy_eglWaitGL_dispatch_table_thunk;
1768e84fe556Smrg    epoxy_eglWaitNative = epoxy_eglWaitNative_dispatch_table_thunk;
1769e84fe556Smrg    epoxy_eglWaitSync = epoxy_eglWaitSync_dispatch_table_thunk;
1770e84fe556Smrg    epoxy_eglWaitSyncKHR = epoxy_eglWaitSyncKHR_dispatch_table_thunk;
1771e84fe556Smrg}
1772e84fe556Smrg
1773e84fe556Smrg#endif /* !USING_DISPATCH_TABLE */
1774e84fe556SmrgPUBLIC PFNEGLBINDAPIPROC epoxy_eglBindAPI = epoxy_eglBindAPI_global_rewrite_ptr;
1775e84fe556Smrg
1776e84fe556SmrgPUBLIC PFNEGLBINDTEXIMAGEPROC epoxy_eglBindTexImage = epoxy_eglBindTexImage_global_rewrite_ptr;
1777e84fe556Smrg
1778e84fe556SmrgPUBLIC PFNEGLCHOOSECONFIGPROC epoxy_eglChooseConfig = epoxy_eglChooseConfig_global_rewrite_ptr;
1779e84fe556Smrg
1780e84fe556SmrgPUBLIC PFNEGLCLIENTWAITSYNCPROC epoxy_eglClientWaitSync = epoxy_eglClientWaitSync_global_rewrite_ptr;
1781e84fe556Smrg
1782e84fe556SmrgPUBLIC PFNEGLCLIENTWAITSYNCKHRPROC epoxy_eglClientWaitSyncKHR = epoxy_eglClientWaitSyncKHR_global_rewrite_ptr;
1783e84fe556Smrg
1784e84fe556SmrgPUBLIC PFNEGLCLIENTWAITSYNCNVPROC epoxy_eglClientWaitSyncNV = epoxy_eglClientWaitSyncNV_global_rewrite_ptr;
1785e84fe556Smrg
1786e84fe556SmrgPUBLIC PFNEGLCOPYBUFFERSPROC epoxy_eglCopyBuffers = epoxy_eglCopyBuffers_global_rewrite_ptr;
1787e84fe556Smrg
1788e84fe556SmrgPUBLIC PFNEGLCREATECONTEXTPROC epoxy_eglCreateContext = epoxy_eglCreateContext_global_rewrite_ptr;
1789e84fe556Smrg
1790e84fe556SmrgPUBLIC PFNEGLCREATEDRMIMAGEMESAPROC epoxy_eglCreateDRMImageMESA = epoxy_eglCreateDRMImageMESA_global_rewrite_ptr;
1791e84fe556Smrg
1792e84fe556SmrgPUBLIC PFNEGLCREATEFENCESYNCNVPROC epoxy_eglCreateFenceSyncNV = epoxy_eglCreateFenceSyncNV_global_rewrite_ptr;
1793e84fe556Smrg
1794e84fe556SmrgPUBLIC PFNEGLCREATEIMAGEPROC epoxy_eglCreateImage = epoxy_eglCreateImage_global_rewrite_ptr;
1795e84fe556Smrg
1796e84fe556SmrgPUBLIC PFNEGLCREATEIMAGEKHRPROC epoxy_eglCreateImageKHR = epoxy_eglCreateImageKHR_global_rewrite_ptr;
1797e84fe556Smrg
1798e84fe556SmrgPUBLIC PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC epoxy_eglCreatePbufferFromClientBuffer = epoxy_eglCreatePbufferFromClientBuffer_global_rewrite_ptr;
1799e84fe556Smrg
1800e84fe556SmrgPUBLIC PFNEGLCREATEPBUFFERSURFACEPROC epoxy_eglCreatePbufferSurface = epoxy_eglCreatePbufferSurface_global_rewrite_ptr;
1801e84fe556Smrg
1802e84fe556SmrgPUBLIC PFNEGLCREATEPIXMAPSURFACEPROC epoxy_eglCreatePixmapSurface = epoxy_eglCreatePixmapSurface_global_rewrite_ptr;
1803e84fe556Smrg
1804e84fe556SmrgPUBLIC PFNEGLCREATEPIXMAPSURFACEHIPROC epoxy_eglCreatePixmapSurfaceHI = epoxy_eglCreatePixmapSurfaceHI_global_rewrite_ptr;
1805e84fe556Smrg
1806e84fe556SmrgPUBLIC PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC epoxy_eglCreatePlatformPixmapSurface = epoxy_eglCreatePlatformPixmapSurface_global_rewrite_ptr;
1807e84fe556Smrg
1808e84fe556SmrgPUBLIC PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC epoxy_eglCreatePlatformPixmapSurfaceEXT = epoxy_eglCreatePlatformPixmapSurfaceEXT_global_rewrite_ptr;
1809e84fe556Smrg
1810e84fe556SmrgPUBLIC PFNEGLCREATEPLATFORMWINDOWSURFACEPROC epoxy_eglCreatePlatformWindowSurface = epoxy_eglCreatePlatformWindowSurface_global_rewrite_ptr;
1811e84fe556Smrg
1812e84fe556SmrgPUBLIC PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC epoxy_eglCreatePlatformWindowSurfaceEXT = epoxy_eglCreatePlatformWindowSurfaceEXT_global_rewrite_ptr;
1813e84fe556Smrg
1814e84fe556SmrgPUBLIC PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC epoxy_eglCreateStreamFromFileDescriptorKHR = epoxy_eglCreateStreamFromFileDescriptorKHR_global_rewrite_ptr;
1815e84fe556Smrg
1816e84fe556SmrgPUBLIC PFNEGLCREATESTREAMKHRPROC epoxy_eglCreateStreamKHR = epoxy_eglCreateStreamKHR_global_rewrite_ptr;
1817e84fe556Smrg
1818e84fe556SmrgPUBLIC PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC epoxy_eglCreateStreamProducerSurfaceKHR = epoxy_eglCreateStreamProducerSurfaceKHR_global_rewrite_ptr;
1819e84fe556Smrg
1820e84fe556SmrgPUBLIC PFNEGLCREATESTREAMSYNCNVPROC epoxy_eglCreateStreamSyncNV = epoxy_eglCreateStreamSyncNV_global_rewrite_ptr;
1821e84fe556Smrg
1822e84fe556SmrgPUBLIC PFNEGLCREATESYNCPROC epoxy_eglCreateSync = epoxy_eglCreateSync_global_rewrite_ptr;
1823e84fe556Smrg
1824e84fe556SmrgPUBLIC PFNEGLCREATESYNC64KHRPROC epoxy_eglCreateSync64KHR = epoxy_eglCreateSync64KHR_global_rewrite_ptr;
1825e84fe556Smrg
1826e84fe556SmrgPUBLIC PFNEGLCREATESYNCKHRPROC epoxy_eglCreateSyncKHR = epoxy_eglCreateSyncKHR_global_rewrite_ptr;
1827e84fe556Smrg
1828e84fe556SmrgPUBLIC PFNEGLCREATEWINDOWSURFACEPROC epoxy_eglCreateWindowSurface = epoxy_eglCreateWindowSurface_global_rewrite_ptr;
1829e84fe556Smrg
1830e84fe556SmrgPUBLIC PFNEGLDESTROYCONTEXTPROC epoxy_eglDestroyContext = epoxy_eglDestroyContext_global_rewrite_ptr;
1831e84fe556Smrg
1832e84fe556SmrgPUBLIC PFNEGLDESTROYIMAGEPROC epoxy_eglDestroyImage = epoxy_eglDestroyImage_global_rewrite_ptr;
1833e84fe556Smrg
1834e84fe556SmrgPUBLIC PFNEGLDESTROYIMAGEKHRPROC epoxy_eglDestroyImageKHR = epoxy_eglDestroyImageKHR_global_rewrite_ptr;
1835e84fe556Smrg
1836e84fe556SmrgPUBLIC PFNEGLDESTROYSTREAMKHRPROC epoxy_eglDestroyStreamKHR = epoxy_eglDestroyStreamKHR_global_rewrite_ptr;
1837e84fe556Smrg
1838e84fe556SmrgPUBLIC PFNEGLDESTROYSURFACEPROC epoxy_eglDestroySurface = epoxy_eglDestroySurface_global_rewrite_ptr;
1839e84fe556Smrg
1840e84fe556SmrgPUBLIC PFNEGLDESTROYSYNCPROC epoxy_eglDestroySync = epoxy_eglDestroySync_global_rewrite_ptr;
1841e84fe556Smrg
1842e84fe556SmrgPUBLIC PFNEGLDESTROYSYNCKHRPROC epoxy_eglDestroySyncKHR = epoxy_eglDestroySyncKHR_global_rewrite_ptr;
1843e84fe556Smrg
1844e84fe556SmrgPUBLIC PFNEGLDESTROYSYNCNVPROC epoxy_eglDestroySyncNV = epoxy_eglDestroySyncNV_global_rewrite_ptr;
1845e84fe556Smrg
1846e84fe556SmrgPUBLIC PFNEGLDUPNATIVEFENCEFDANDROIDPROC epoxy_eglDupNativeFenceFDANDROID = epoxy_eglDupNativeFenceFDANDROID_global_rewrite_ptr;
1847e84fe556Smrg
1848e84fe556SmrgPUBLIC PFNEGLEXPORTDMABUFIMAGEMESAPROC epoxy_eglExportDMABUFImageMESA = epoxy_eglExportDMABUFImageMESA_global_rewrite_ptr;
1849e84fe556Smrg
1850e84fe556SmrgPUBLIC PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC epoxy_eglExportDMABUFImageQueryMESA = epoxy_eglExportDMABUFImageQueryMESA_global_rewrite_ptr;
1851e84fe556Smrg
1852e84fe556SmrgPUBLIC PFNEGLEXPORTDRMIMAGEMESAPROC epoxy_eglExportDRMImageMESA = epoxy_eglExportDRMImageMESA_global_rewrite_ptr;
1853e84fe556Smrg
1854e84fe556SmrgPUBLIC PFNEGLFENCENVPROC epoxy_eglFenceNV = epoxy_eglFenceNV_global_rewrite_ptr;
1855e84fe556Smrg
1856e84fe556SmrgPUBLIC PFNEGLGETCONFIGATTRIBPROC epoxy_eglGetConfigAttrib = epoxy_eglGetConfigAttrib_global_rewrite_ptr;
1857e84fe556Smrg
1858e84fe556SmrgPUBLIC PFNEGLGETCONFIGSPROC epoxy_eglGetConfigs = epoxy_eglGetConfigs_global_rewrite_ptr;
1859e84fe556Smrg
1860e84fe556SmrgPUBLIC PFNEGLGETCURRENTCONTEXTPROC epoxy_eglGetCurrentContext = epoxy_eglGetCurrentContext_global_rewrite_ptr;
1861e84fe556Smrg
1862e84fe556SmrgPUBLIC PFNEGLGETCURRENTDISPLAYPROC epoxy_eglGetCurrentDisplay = epoxy_eglGetCurrentDisplay_global_rewrite_ptr;
1863e84fe556Smrg
1864e84fe556SmrgPUBLIC PFNEGLGETCURRENTSURFACEPROC epoxy_eglGetCurrentSurface = epoxy_eglGetCurrentSurface_global_rewrite_ptr;
1865e84fe556Smrg
1866e84fe556SmrgPUBLIC PFNEGLGETDISPLAYPROC epoxy_eglGetDisplay = epoxy_eglGetDisplay_global_rewrite_ptr;
1867e84fe556Smrg
1868e84fe556SmrgPUBLIC PFNEGLGETERRORPROC epoxy_eglGetError = epoxy_eglGetError_global_rewrite_ptr;
1869e84fe556Smrg
1870e84fe556SmrgPUBLIC PFNEGLGETOUTPUTLAYERSEXTPROC epoxy_eglGetOutputLayersEXT = epoxy_eglGetOutputLayersEXT_global_rewrite_ptr;
1871e84fe556Smrg
1872e84fe556SmrgPUBLIC PFNEGLGETOUTPUTPORTSEXTPROC epoxy_eglGetOutputPortsEXT = epoxy_eglGetOutputPortsEXT_global_rewrite_ptr;
1873e84fe556Smrg
1874e84fe556SmrgPUBLIC PFNEGLGETPLATFORMDISPLAYPROC epoxy_eglGetPlatformDisplay = epoxy_eglGetPlatformDisplay_global_rewrite_ptr;
1875e84fe556Smrg
1876e84fe556SmrgPUBLIC PFNEGLGETPLATFORMDISPLAYEXTPROC epoxy_eglGetPlatformDisplayEXT = epoxy_eglGetPlatformDisplayEXT_global_rewrite_ptr;
1877e84fe556Smrg
1878e84fe556SmrgPUBLIC PFNEGLGETPROCADDRESSPROC epoxy_eglGetProcAddress = epoxy_eglGetProcAddress_global_rewrite_ptr;
1879e84fe556Smrg
1880e84fe556SmrgPUBLIC PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC epoxy_eglGetStreamFileDescriptorKHR = epoxy_eglGetStreamFileDescriptorKHR_global_rewrite_ptr;
1881e84fe556Smrg
1882e84fe556SmrgPUBLIC PFNEGLGETSYNCATTRIBPROC epoxy_eglGetSyncAttrib = epoxy_eglGetSyncAttrib_global_rewrite_ptr;
1883e84fe556Smrg
1884e84fe556SmrgPUBLIC PFNEGLGETSYNCATTRIBKHRPROC epoxy_eglGetSyncAttribKHR = epoxy_eglGetSyncAttribKHR_global_rewrite_ptr;
1885e84fe556Smrg
1886e84fe556SmrgPUBLIC PFNEGLGETSYNCATTRIBNVPROC epoxy_eglGetSyncAttribNV = epoxy_eglGetSyncAttribNV_global_rewrite_ptr;
1887e84fe556Smrg
1888e84fe556SmrgPUBLIC PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC epoxy_eglGetSystemTimeFrequencyNV = epoxy_eglGetSystemTimeFrequencyNV_global_rewrite_ptr;
1889e84fe556Smrg
1890e84fe556SmrgPUBLIC PFNEGLGETSYSTEMTIMENVPROC epoxy_eglGetSystemTimeNV = epoxy_eglGetSystemTimeNV_global_rewrite_ptr;
1891e84fe556Smrg
1892e84fe556SmrgPUBLIC PFNEGLINITIALIZEPROC epoxy_eglInitialize = epoxy_eglInitialize_global_rewrite_ptr;
1893e84fe556Smrg
1894e84fe556SmrgPUBLIC PFNEGLLOCKSURFACEKHRPROC epoxy_eglLockSurfaceKHR = epoxy_eglLockSurfaceKHR_global_rewrite_ptr;
1895e84fe556Smrg
1896e84fe556SmrgPUBLIC PFNEGLMAKECURRENTPROC epoxy_eglMakeCurrent = epoxy_eglMakeCurrent_global_rewrite_ptr;
1897e84fe556Smrg
1898e84fe556SmrgPUBLIC PFNEGLOUTPUTLAYERATTRIBEXTPROC epoxy_eglOutputLayerAttribEXT = epoxy_eglOutputLayerAttribEXT_global_rewrite_ptr;
1899e84fe556Smrg
1900e84fe556SmrgPUBLIC PFNEGLOUTPUTPORTATTRIBEXTPROC epoxy_eglOutputPortAttribEXT = epoxy_eglOutputPortAttribEXT_global_rewrite_ptr;
1901e84fe556Smrg
1902e84fe556SmrgPUBLIC PFNEGLPOSTSUBBUFFERNVPROC epoxy_eglPostSubBufferNV = epoxy_eglPostSubBufferNV_global_rewrite_ptr;
1903e84fe556Smrg
1904e84fe556SmrgPUBLIC PFNEGLQUERYAPIPROC epoxy_eglQueryAPI = epoxy_eglQueryAPI_global_rewrite_ptr;
1905e84fe556Smrg
1906e84fe556SmrgPUBLIC PFNEGLQUERYCONTEXTPROC epoxy_eglQueryContext = epoxy_eglQueryContext_global_rewrite_ptr;
1907e84fe556Smrg
1908e84fe556SmrgPUBLIC PFNEGLQUERYDEVICEATTRIBEXTPROC epoxy_eglQueryDeviceAttribEXT = epoxy_eglQueryDeviceAttribEXT_global_rewrite_ptr;
1909e84fe556Smrg
1910e84fe556SmrgPUBLIC PFNEGLQUERYDEVICESTRINGEXTPROC epoxy_eglQueryDeviceStringEXT = epoxy_eglQueryDeviceStringEXT_global_rewrite_ptr;
1911e84fe556Smrg
1912e84fe556SmrgPUBLIC PFNEGLQUERYDEVICESEXTPROC epoxy_eglQueryDevicesEXT = epoxy_eglQueryDevicesEXT_global_rewrite_ptr;
1913e84fe556Smrg
1914e84fe556SmrgPUBLIC PFNEGLQUERYDISPLAYATTRIBEXTPROC epoxy_eglQueryDisplayAttribEXT = epoxy_eglQueryDisplayAttribEXT_global_rewrite_ptr;
1915e84fe556Smrg
1916e84fe556SmrgPUBLIC PFNEGLQUERYNATIVEDISPLAYNVPROC epoxy_eglQueryNativeDisplayNV = epoxy_eglQueryNativeDisplayNV_global_rewrite_ptr;
1917e84fe556Smrg
1918e84fe556SmrgPUBLIC PFNEGLQUERYNATIVEPIXMAPNVPROC epoxy_eglQueryNativePixmapNV = epoxy_eglQueryNativePixmapNV_global_rewrite_ptr;
1919e84fe556Smrg
1920e84fe556SmrgPUBLIC PFNEGLQUERYNATIVEWINDOWNVPROC epoxy_eglQueryNativeWindowNV = epoxy_eglQueryNativeWindowNV_global_rewrite_ptr;
1921e84fe556Smrg
1922e84fe556SmrgPUBLIC PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC epoxy_eglQueryOutputLayerAttribEXT = epoxy_eglQueryOutputLayerAttribEXT_global_rewrite_ptr;
1923e84fe556Smrg
1924e84fe556SmrgPUBLIC PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC epoxy_eglQueryOutputLayerStringEXT = epoxy_eglQueryOutputLayerStringEXT_global_rewrite_ptr;
1925e84fe556Smrg
1926e84fe556SmrgPUBLIC PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC epoxy_eglQueryOutputPortAttribEXT = epoxy_eglQueryOutputPortAttribEXT_global_rewrite_ptr;
1927e84fe556Smrg
1928e84fe556SmrgPUBLIC PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC epoxy_eglQueryOutputPortStringEXT = epoxy_eglQueryOutputPortStringEXT_global_rewrite_ptr;
1929e84fe556Smrg
1930e84fe556SmrgPUBLIC PFNEGLQUERYSTREAMKHRPROC epoxy_eglQueryStreamKHR = epoxy_eglQueryStreamKHR_global_rewrite_ptr;
1931e84fe556Smrg
1932e84fe556SmrgPUBLIC PFNEGLQUERYSTREAMTIMEKHRPROC epoxy_eglQueryStreamTimeKHR = epoxy_eglQueryStreamTimeKHR_global_rewrite_ptr;
1933e84fe556Smrg
1934e84fe556SmrgPUBLIC PFNEGLQUERYSTREAMU64KHRPROC epoxy_eglQueryStreamu64KHR = epoxy_eglQueryStreamu64KHR_global_rewrite_ptr;
1935e84fe556Smrg
1936e84fe556SmrgPUBLIC PFNEGLQUERYSTRINGPROC epoxy_eglQueryString = epoxy_eglQueryString_global_rewrite_ptr;
1937e84fe556Smrg
1938e84fe556SmrgPUBLIC PFNEGLQUERYSURFACEPROC epoxy_eglQuerySurface = epoxy_eglQuerySurface_global_rewrite_ptr;
1939e84fe556Smrg
1940e84fe556SmrgPUBLIC PFNEGLQUERYSURFACE64KHRPROC epoxy_eglQuerySurface64KHR = epoxy_eglQuerySurface64KHR_global_rewrite_ptr;
1941e84fe556Smrg
1942e84fe556SmrgPUBLIC PFNEGLQUERYSURFACEPOINTERANGLEPROC epoxy_eglQuerySurfacePointerANGLE = epoxy_eglQuerySurfacePointerANGLE_global_rewrite_ptr;
1943e84fe556Smrg
1944e84fe556SmrgPUBLIC PFNEGLRELEASETEXIMAGEPROC epoxy_eglReleaseTexImage = epoxy_eglReleaseTexImage_global_rewrite_ptr;
1945e84fe556Smrg
1946e84fe556SmrgPUBLIC PFNEGLRELEASETHREADPROC epoxy_eglReleaseThread = epoxy_eglReleaseThread_global_rewrite_ptr;
1947e84fe556Smrg
1948e84fe556SmrgPUBLIC PFNEGLSETBLOBCACHEFUNCSANDROIDPROC epoxy_eglSetBlobCacheFuncsANDROID = epoxy_eglSetBlobCacheFuncsANDROID_global_rewrite_ptr;
1949e84fe556Smrg
1950e84fe556SmrgPUBLIC PFNEGLSETDAMAGEREGIONKHRPROC epoxy_eglSetDamageRegionKHR = epoxy_eglSetDamageRegionKHR_global_rewrite_ptr;
1951e84fe556Smrg
1952e84fe556SmrgPUBLIC PFNEGLSIGNALSYNCKHRPROC epoxy_eglSignalSyncKHR = epoxy_eglSignalSyncKHR_global_rewrite_ptr;
1953e84fe556Smrg
1954e84fe556SmrgPUBLIC PFNEGLSIGNALSYNCNVPROC epoxy_eglSignalSyncNV = epoxy_eglSignalSyncNV_global_rewrite_ptr;
1955e84fe556Smrg
1956e84fe556SmrgPUBLIC PFNEGLSTREAMATTRIBKHRPROC epoxy_eglStreamAttribKHR = epoxy_eglStreamAttribKHR_global_rewrite_ptr;
1957e84fe556Smrg
1958e84fe556SmrgPUBLIC PFNEGLSTREAMCONSUMERACQUIREKHRPROC epoxy_eglStreamConsumerAcquireKHR = epoxy_eglStreamConsumerAcquireKHR_global_rewrite_ptr;
1959e84fe556Smrg
1960e84fe556SmrgPUBLIC PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC epoxy_eglStreamConsumerGLTextureExternalKHR = epoxy_eglStreamConsumerGLTextureExternalKHR_global_rewrite_ptr;
1961e84fe556Smrg
1962e84fe556SmrgPUBLIC PFNEGLSTREAMCONSUMEROUTPUTEXTPROC epoxy_eglStreamConsumerOutputEXT = epoxy_eglStreamConsumerOutputEXT_global_rewrite_ptr;
1963e84fe556Smrg
1964e84fe556SmrgPUBLIC PFNEGLSTREAMCONSUMERRELEASEKHRPROC epoxy_eglStreamConsumerReleaseKHR = epoxy_eglStreamConsumerReleaseKHR_global_rewrite_ptr;
1965e84fe556Smrg
1966e84fe556SmrgPUBLIC PFNEGLSURFACEATTRIBPROC epoxy_eglSurfaceAttrib = epoxy_eglSurfaceAttrib_global_rewrite_ptr;
1967e84fe556Smrg
1968e84fe556SmrgPUBLIC PFNEGLSWAPBUFFERSPROC epoxy_eglSwapBuffers = epoxy_eglSwapBuffers_global_rewrite_ptr;
1969e84fe556Smrg
1970e84fe556SmrgPUBLIC PFNEGLSWAPBUFFERSREGION2NOKPROC epoxy_eglSwapBuffersRegion2NOK = epoxy_eglSwapBuffersRegion2NOK_global_rewrite_ptr;
1971e84fe556Smrg
1972e84fe556SmrgPUBLIC PFNEGLSWAPBUFFERSREGIONNOKPROC epoxy_eglSwapBuffersRegionNOK = epoxy_eglSwapBuffersRegionNOK_global_rewrite_ptr;
1973e84fe556Smrg
1974e84fe556SmrgPUBLIC PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC epoxy_eglSwapBuffersWithDamageEXT = epoxy_eglSwapBuffersWithDamageEXT_global_rewrite_ptr;
1975e84fe556Smrg
1976e84fe556SmrgPUBLIC PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC epoxy_eglSwapBuffersWithDamageKHR = epoxy_eglSwapBuffersWithDamageKHR_global_rewrite_ptr;
1977e84fe556Smrg
1978e84fe556SmrgPUBLIC PFNEGLSWAPINTERVALPROC epoxy_eglSwapInterval = epoxy_eglSwapInterval_global_rewrite_ptr;
1979e84fe556Smrg
1980e84fe556SmrgPUBLIC PFNEGLTERMINATEPROC epoxy_eglTerminate = epoxy_eglTerminate_global_rewrite_ptr;
1981e84fe556Smrg
1982e84fe556SmrgPUBLIC PFNEGLUNLOCKSURFACEKHRPROC epoxy_eglUnlockSurfaceKHR = epoxy_eglUnlockSurfaceKHR_global_rewrite_ptr;
1983e84fe556Smrg
1984e84fe556SmrgPUBLIC PFNEGLWAITCLIENTPROC epoxy_eglWaitClient = epoxy_eglWaitClient_global_rewrite_ptr;
1985e84fe556Smrg
1986e84fe556SmrgPUBLIC PFNEGLWAITGLPROC epoxy_eglWaitGL = epoxy_eglWaitGL_global_rewrite_ptr;
1987e84fe556Smrg
1988e84fe556SmrgPUBLIC PFNEGLWAITNATIVEPROC epoxy_eglWaitNative = epoxy_eglWaitNative_global_rewrite_ptr;
1989e84fe556Smrg
1990e84fe556SmrgPUBLIC PFNEGLWAITSYNCPROC epoxy_eglWaitSync = epoxy_eglWaitSync_global_rewrite_ptr;
1991e84fe556Smrg
1992e84fe556SmrgPUBLIC PFNEGLWAITSYNCKHRPROC epoxy_eglWaitSyncKHR = epoxy_eglWaitSyncKHR_global_rewrite_ptr;
1993e84fe556Smrg
1994