1 // GENERATED FILE - DO NOT EDIT. 2 // Generated by generate_entry_points.py using data from egl.xml and egl_angle_ext.xml. 3 // 4 // Copyright 2020 The ANGLE Project Authors. All rights reserved. 5 // Use of this source code is governed by a BSD-style license that can be 6 // found in the LICENSE file. 7 // 8 // entry_points_egl_ext_autogen.h: 9 // Defines the EGL Extension entry points. 10 11 #ifndef LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_ 12 #define LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_ 13 14 #include <EGL/egl.h> 15 #include <EGL/eglext.h> 16 #include <export.h> 17 18 extern "C" { 19 20 // EGL_ANDROID_blob_cache 21 ANGLE_EXPORT void EGLAPIENTRY EGL_SetBlobCacheFuncsANDROID(EGLDisplay dpy, 22 EGLSetBlobFuncANDROID set, 23 EGLGetBlobFuncANDROID get); 24 25 // EGL_ANDROID_create_native_client_buffer 26 ANGLE_EXPORT EGLClientBuffer EGLAPIENTRY 27 EGL_CreateNativeClientBufferANDROID(const EGLint *attrib_list); 28 29 // EGL_ANDROID_get_frame_timestamps 30 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetCompositorTimingSupportedANDROID(EGLDisplay dpy, 31 EGLSurface surface, 32 EGLint name); 33 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetCompositorTimingANDROID(EGLDisplay dpy, 34 EGLSurface surface, 35 EGLint numTimestamps, 36 const EGLint *names, 37 EGLnsecsANDROID *values); 38 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetNextFrameIdANDROID(EGLDisplay dpy, 39 EGLSurface surface, 40 EGLuint64KHR *frameId); 41 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetFrameTimestampSupportedANDROID(EGLDisplay dpy, 42 EGLSurface surface, 43 EGLint timestamp); 44 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetFrameTimestampsANDROID(EGLDisplay dpy, 45 EGLSurface surface, 46 EGLuint64KHR frameId, 47 EGLint numTimestamps, 48 const EGLint *timestamps, 49 EGLnsecsANDROID *values); 50 51 // EGL_ANDROID_get_native_client_buffer 52 ANGLE_EXPORT EGLClientBuffer EGLAPIENTRY 53 EGL_GetNativeClientBufferANDROID(const struct AHardwareBuffer *buffer); 54 55 // EGL_ANDROID_native_fence_sync 56 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync); 57 58 // EGL_ANDROID_presentation_time 59 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PresentationTimeANDROID(EGLDisplay dpy, 60 EGLSurface surface, 61 EGLnsecsANDROID time); 62 63 // EGL_ANGLE_device_creation 64 ANGLE_EXPORT EGLDeviceEXT EGLAPIENTRY EGL_CreateDeviceANGLE(EGLint device_type, 65 void *native_device, 66 const EGLAttrib *attrib_list); 67 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ReleaseDeviceANGLE(EGLDeviceEXT device); 68 69 // EGL_ANGLE_external_context_and_surface 70 ANGLE_EXPORT void EGLAPIENTRY EGL_AcquireExternalContextANGLE(EGLDisplay dpy, 71 EGLSurface drawAndRead); 72 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseExternalContextANGLE(EGLDisplay dpy); 73 74 // EGL_ANGLE_feature_control 75 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryStringiANGLE(EGLDisplay dpy, 76 EGLint name, 77 EGLint index); 78 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribANGLE(EGLDisplay dpy, 79 EGLint attribute, 80 EGLAttrib *value); 81 82 // EGL_ANGLE_metal_shared_event_sync 83 ANGLE_EXPORT void *EGLAPIENTRY EGL_CopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSyncKHR sync); 84 85 // EGL_ANGLE_no_error 86 ANGLE_EXPORT void EGLAPIENTRY EGL_SetValidationEnabledANGLE(EGLBoolean validationState); 87 88 // EGL_ANGLE_power_preference 89 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx); 90 ANGLE_EXPORT void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx); 91 ANGLE_EXPORT void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy); 92 ANGLE_EXPORT void EGLAPIENTRY EGL_ForceGPUSwitchANGLE(EGLDisplay dpy, 93 EGLint gpuIDHigh, 94 EGLint gpuIDLow); 95 96 // EGL_ANGLE_prepare_swap_buffers 97 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurface surface); 98 99 // EGL_ANGLE_program_cache_control 100 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib); 101 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCacheQueryANGLE(EGLDisplay dpy, 102 EGLint index, 103 void *key, 104 EGLint *keysize, 105 void *binary, 106 EGLint *binarysize); 107 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCachePopulateANGLE(EGLDisplay dpy, 108 const void *key, 109 EGLint keysize, 110 const void *binary, 111 EGLint binarysize); 112 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheResizeANGLE(EGLDisplay dpy, 113 EGLint limit, 114 EGLint mode); 115 116 // EGL_ANGLE_query_surface_pointer 117 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurfacePointerANGLE(EGLDisplay dpy, 118 EGLSurface surface, 119 EGLint attribute, 120 void **value); 121 122 // EGL_ANGLE_stream_producer_d3d_texture 123 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 124 EGL_CreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, 125 EGLStreamKHR stream, 126 const EGLAttrib *attrib_list); 127 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamPostD3DTextureANGLE(EGLDisplay dpy, 128 EGLStreamKHR stream, 129 void *texture, 130 const EGLAttrib *attrib_list); 131 132 // EGL_ANGLE_swap_with_frame_token 133 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 134 EGL_SwapBuffersWithFrameTokenANGLE(EGLDisplay dpy, 135 EGLSurface surface, 136 EGLFrameTokenANGLE frametoken); 137 138 // EGL_ANGLE_sync_control_rate 139 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetMscRateANGLE(EGLDisplay dpy, 140 EGLSurface surface, 141 EGLint *numerator, 142 EGLint *denominator); 143 144 // EGL_ANGLE_vulkan_image 145 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ExportVkImageANGLE(EGLDisplay dpy, 146 EGLImage image, 147 void *vk_image, 148 void *vk_image_create_info); 149 150 // EGL_ANGLE_wait_until_work_scheduled 151 ANGLE_EXPORT void EGLAPIENTRY EGL_WaitUntilWorkScheduledANGLE(EGLDisplay dpy); 152 153 // EGL_CHROMIUM_sync_control 154 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncValuesCHROMIUM(EGLDisplay dpy, 155 EGLSurface surface, 156 EGLuint64KHR *ust, 157 EGLuint64KHR *msc, 158 EGLuint64KHR *sbc); 159 160 // EGL_EXT_device_query 161 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDeviceAttribEXT(EGLDeviceEXT device, 162 EGLint attribute, 163 EGLAttrib *value); 164 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryDeviceStringEXT(EGLDeviceEXT device, EGLint name); 165 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy, 166 EGLint attribute, 167 EGLAttrib *value); 168 169 // EGL_EXT_image_dma_buf_import_modifiers 170 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufFormatsEXT(EGLDisplay dpy, 171 EGLint max_formats, 172 EGLint *formats, 173 EGLint *num_formats); 174 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufModifiersEXT(EGLDisplay dpy, 175 EGLint format, 176 EGLint max_modifiers, 177 EGLuint64KHR *modifiers, 178 EGLBoolean *external_only, 179 EGLint *num_modifiers); 180 181 // EGL_EXT_platform_base 182 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy, 183 EGLConfig config, 184 void *native_pixmap, 185 const EGLint *attrib_list); 186 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurfaceEXT(EGLDisplay dpy, 187 EGLConfig config, 188 void *native_window, 189 const EGLint *attrib_list); 190 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplayEXT(EGLenum platform, 191 void *native_display, 192 const EGLint *attrib_list); 193 194 // EGL_KHR_debug 195 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DebugMessageControlKHR(EGLDEBUGPROCKHR callback, 196 const EGLAttrib *attrib_list); 197 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_LabelObjectKHR(EGLDisplay display, 198 EGLenum objectType, 199 EGLObjectKHR object, 200 EGLLabelKHR label); 201 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDebugKHR(EGLint attribute, EGLAttrib *value); 202 203 // EGL_KHR_fence_sync 204 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSyncKHR(EGLDisplay dpy, 205 EGLSyncKHR sync, 206 EGLint flags, 207 EGLTimeKHR timeout); 208 ANGLE_EXPORT EGLSyncKHR EGLAPIENTRY EGL_CreateSyncKHR(EGLDisplay dpy, 209 EGLenum type, 210 const EGLint *attrib_list); 211 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); 212 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttribKHR(EGLDisplay dpy, 213 EGLSyncKHR sync, 214 EGLint attribute, 215 EGLint *value); 216 217 // EGL_KHR_image 218 ANGLE_EXPORT EGLImageKHR EGLAPIENTRY EGL_CreateImageKHR(EGLDisplay dpy, 219 EGLContext ctx, 220 EGLenum target, 221 EGLClientBuffer buffer, 222 const EGLint *attrib_list); 223 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImageKHR(EGLDisplay dpy, EGLImageKHR image); 224 225 // EGL_KHR_lock_surface3 226 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_LockSurfaceKHR(EGLDisplay dpy, 227 EGLSurface surface, 228 const EGLint *attrib_list); 229 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurface64KHR(EGLDisplay dpy, 230 EGLSurface surface, 231 EGLint attribute, 232 EGLAttribKHR *value); 233 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_UnlockSurfaceKHR(EGLDisplay dpy, EGLSurface surface); 234 235 // EGL_KHR_partial_update 236 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SetDamageRegionKHR(EGLDisplay dpy, 237 EGLSurface surface, 238 EGLint *rects, 239 EGLint n_rects); 240 241 // EGL_KHR_reusable_sync 242 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SignalSyncKHR(EGLDisplay dpy, 243 EGLSyncKHR sync, 244 EGLenum mode); 245 246 // EGL_KHR_stream 247 ANGLE_EXPORT EGLStreamKHR EGLAPIENTRY EGL_CreateStreamKHR(EGLDisplay dpy, 248 const EGLint *attrib_list); 249 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream); 250 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamKHR(EGLDisplay dpy, 251 EGLStreamKHR stream, 252 EGLenum attribute, 253 EGLint *value); 254 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamu64KHR(EGLDisplay dpy, 255 EGLStreamKHR stream, 256 EGLenum attribute, 257 EGLuint64KHR *value); 258 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamAttribKHR(EGLDisplay dpy, 259 EGLStreamKHR stream, 260 EGLenum attribute, 261 EGLint value); 262 263 // EGL_KHR_stream_consumer_gltexture 264 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerAcquireKHR(EGLDisplay dpy, 265 EGLStreamKHR stream); 266 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalKHR(EGLDisplay dpy, 267 EGLStreamKHR stream); 268 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, 269 EGLStreamKHR stream); 270 271 // EGL_KHR_swap_buffers_with_damage 272 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy, 273 EGLSurface surface, 274 const EGLint *rects, 275 EGLint n_rects); 276 277 // EGL_KHR_wait_sync 278 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_WaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); 279 280 // EGL_NV_post_sub_buffer 281 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PostSubBufferNV(EGLDisplay dpy, 282 EGLSurface surface, 283 EGLint x, 284 EGLint y, 285 EGLint width, 286 EGLint height); 287 288 // EGL_NV_stream_consumer_gltexture_yuv 289 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 290 EGL_StreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy, 291 EGLStreamKHR stream, 292 const EGLAttrib *attrib_list); 293 } // extern "C" 294 295 #endif // LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_ 296