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_device_vulkan 70 ANGLE_EXPORT void EGLAPIENTRY EGL_LockVulkanQueueANGLE(EGLDisplay dpy); 71 ANGLE_EXPORT void EGLAPIENTRY EGL_UnlockVulkanQueueANGLE(EGLDisplay dpy); 72 73 // EGL_ANGLE_external_context_and_surface 74 ANGLE_EXPORT void EGLAPIENTRY EGL_AcquireExternalContextANGLE(EGLDisplay dpy, 75 EGLSurface drawAndRead); 76 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseExternalContextANGLE(EGLDisplay dpy); 77 78 // EGL_ANGLE_feature_control 79 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryStringiANGLE(EGLDisplay dpy, 80 EGLint name, 81 EGLint index); 82 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribANGLE(EGLDisplay dpy, 83 EGLint attribute, 84 EGLAttrib *value); 85 86 // EGL_ANGLE_metal_shared_event_sync 87 ANGLE_EXPORT void *EGLAPIENTRY EGL_CopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSyncKHR sync); 88 89 // EGL_ANGLE_no_error 90 ANGLE_EXPORT void EGLAPIENTRY EGL_SetValidationEnabledANGLE(EGLBoolean validationState); 91 92 // EGL_ANGLE_power_preference 93 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx); 94 ANGLE_EXPORT void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx); 95 ANGLE_EXPORT void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy); 96 ANGLE_EXPORT void EGLAPIENTRY EGL_ForceGPUSwitchANGLE(EGLDisplay dpy, 97 EGLint gpuIDHigh, 98 EGLint gpuIDLow); 99 100 // EGL_ANGLE_prepare_swap_buffers 101 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurface surface); 102 103 // EGL_ANGLE_program_cache_control 104 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib); 105 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCacheQueryANGLE(EGLDisplay dpy, 106 EGLint index, 107 void *key, 108 EGLint *keysize, 109 void *binary, 110 EGLint *binarysize); 111 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCachePopulateANGLE(EGLDisplay dpy, 112 const void *key, 113 EGLint keysize, 114 const void *binary, 115 EGLint binarysize); 116 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheResizeANGLE(EGLDisplay dpy, 117 EGLint limit, 118 EGLint mode); 119 120 // EGL_ANGLE_query_surface_pointer 121 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurfacePointerANGLE(EGLDisplay dpy, 122 EGLSurface surface, 123 EGLint attribute, 124 void **value); 125 126 // EGL_ANGLE_stream_producer_d3d_texture 127 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 128 EGL_CreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, 129 EGLStreamKHR stream, 130 const EGLAttrib *attrib_list); 131 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamPostD3DTextureANGLE(EGLDisplay dpy, 132 EGLStreamKHR stream, 133 void *texture, 134 const EGLAttrib *attrib_list); 135 136 // EGL_ANGLE_sync_control_rate 137 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetMscRateANGLE(EGLDisplay dpy, 138 EGLSurface surface, 139 EGLint *numerator, 140 EGLint *denominator); 141 142 // EGL_ANGLE_vulkan_image 143 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ExportVkImageANGLE(EGLDisplay dpy, 144 EGLImage image, 145 void *vk_image, 146 void *vk_image_create_info); 147 148 // EGL_ANGLE_wait_until_work_scheduled 149 ANGLE_EXPORT void EGLAPIENTRY EGL_WaitUntilWorkScheduledANGLE(EGLDisplay dpy); 150 151 // EGL_CHROMIUM_sync_control 152 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncValuesCHROMIUM(EGLDisplay dpy, 153 EGLSurface surface, 154 EGLuint64KHR *ust, 155 EGLuint64KHR *msc, 156 EGLuint64KHR *sbc); 157 158 // EGL_EXT_device_query 159 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDeviceAttribEXT(EGLDeviceEXT device, 160 EGLint attribute, 161 EGLAttrib *value); 162 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryDeviceStringEXT(EGLDeviceEXT device, EGLint name); 163 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy, 164 EGLint attribute, 165 EGLAttrib *value); 166 167 // EGL_EXT_image_dma_buf_import_modifiers 168 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufFormatsEXT(EGLDisplay dpy, 169 EGLint max_formats, 170 EGLint *formats, 171 EGLint *num_formats); 172 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDmaBufModifiersEXT(EGLDisplay dpy, 173 EGLint format, 174 EGLint max_modifiers, 175 EGLuint64KHR *modifiers, 176 EGLBoolean *external_only, 177 EGLint *num_modifiers); 178 179 // EGL_EXT_platform_base 180 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy, 181 EGLConfig config, 182 void *native_pixmap, 183 const EGLint *attrib_list); 184 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurfaceEXT(EGLDisplay dpy, 185 EGLConfig config, 186 void *native_window, 187 const EGLint *attrib_list); 188 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplayEXT(EGLenum platform, 189 void *native_display, 190 const EGLint *attrib_list); 191 192 // EGL_EXT_surface_compression 193 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 194 EGL_QuerySupportedCompressionRatesEXT(EGLDisplay dpy, 195 EGLConfig config, 196 const EGLAttrib *attrib_list, 197 EGLint *rates, 198 EGLint rate_size, 199 EGLint *num_rates); 200 201 // EGL_KHR_debug 202 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DebugMessageControlKHR(EGLDEBUGPROCKHR callback, 203 const EGLAttrib *attrib_list); 204 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_LabelObjectKHR(EGLDisplay display, 205 EGLenum objectType, 206 EGLObjectKHR object, 207 EGLLabelKHR label); 208 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDebugKHR(EGLint attribute, EGLAttrib *value); 209 210 // EGL_KHR_fence_sync 211 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSyncKHR(EGLDisplay dpy, 212 EGLSyncKHR sync, 213 EGLint flags, 214 EGLTimeKHR timeout); 215 ANGLE_EXPORT EGLSyncKHR EGLAPIENTRY EGL_CreateSyncKHR(EGLDisplay dpy, 216 EGLenum type, 217 const EGLint *attrib_list); 218 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); 219 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttribKHR(EGLDisplay dpy, 220 EGLSyncKHR sync, 221 EGLint attribute, 222 EGLint *value); 223 224 // EGL_KHR_image 225 ANGLE_EXPORT EGLImageKHR EGLAPIENTRY EGL_CreateImageKHR(EGLDisplay dpy, 226 EGLContext ctx, 227 EGLenum target, 228 EGLClientBuffer buffer, 229 const EGLint *attrib_list); 230 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImageKHR(EGLDisplay dpy, EGLImageKHR image); 231 232 // EGL_KHR_lock_surface3 233 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_LockSurfaceKHR(EGLDisplay dpy, 234 EGLSurface surface, 235 const EGLint *attrib_list); 236 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurface64KHR(EGLDisplay dpy, 237 EGLSurface surface, 238 EGLint attribute, 239 EGLAttribKHR *value); 240 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_UnlockSurfaceKHR(EGLDisplay dpy, EGLSurface surface); 241 242 // EGL_KHR_partial_update 243 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SetDamageRegionKHR(EGLDisplay dpy, 244 EGLSurface surface, 245 EGLint *rects, 246 EGLint n_rects); 247 248 // EGL_KHR_reusable_sync 249 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SignalSyncKHR(EGLDisplay dpy, 250 EGLSyncKHR sync, 251 EGLenum mode); 252 253 // EGL_KHR_stream 254 ANGLE_EXPORT EGLStreamKHR EGLAPIENTRY EGL_CreateStreamKHR(EGLDisplay dpy, 255 const EGLint *attrib_list); 256 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream); 257 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamKHR(EGLDisplay dpy, 258 EGLStreamKHR stream, 259 EGLenum attribute, 260 EGLint *value); 261 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamu64KHR(EGLDisplay dpy, 262 EGLStreamKHR stream, 263 EGLenum attribute, 264 EGLuint64KHR *value); 265 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamAttribKHR(EGLDisplay dpy, 266 EGLStreamKHR stream, 267 EGLenum attribute, 268 EGLint value); 269 270 // EGL_KHR_stream_consumer_gltexture 271 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerAcquireKHR(EGLDisplay dpy, 272 EGLStreamKHR stream); 273 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalKHR(EGLDisplay dpy, 274 EGLStreamKHR stream); 275 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, 276 EGLStreamKHR stream); 277 278 // EGL_KHR_swap_buffers_with_damage 279 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy, 280 EGLSurface surface, 281 const EGLint *rects, 282 EGLint n_rects); 283 284 // EGL_KHR_wait_sync 285 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_WaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); 286 287 // EGL_NV_post_sub_buffer 288 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PostSubBufferNV(EGLDisplay dpy, 289 EGLSurface surface, 290 EGLint x, 291 EGLint y, 292 EGLint width, 293 EGLint height); 294 295 // EGL_NV_stream_consumer_gltexture_yuv 296 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 297 EGL_StreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy, 298 EGLStreamKHR stream, 299 const EGLAttrib *attrib_list); 300 } // extern "C" 301 302 #endif // LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_ 303