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