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_feature_control 70 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryStringiANGLE(EGLDisplay dpy, 71 EGLint name, 72 EGLint index); 73 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribANGLE(EGLDisplay dpy, 74 EGLint attribute, 75 EGLAttrib *value); 76 77 // EGL_ANGLE_power_preference 78 ANGLE_EXPORT void EGLAPIENTRY EGL_ReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx); 79 ANGLE_EXPORT void EGLAPIENTRY EGL_ReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx); 80 ANGLE_EXPORT void EGLAPIENTRY EGL_HandleGPUSwitchANGLE(EGLDisplay dpy); 81 82 // EGL_ANGLE_program_cache_control 83 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib); 84 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCacheQueryANGLE(EGLDisplay dpy, 85 EGLint index, 86 void *key, 87 EGLint *keysize, 88 void *binary, 89 EGLint *binarysize); 90 ANGLE_EXPORT void EGLAPIENTRY EGL_ProgramCachePopulateANGLE(EGLDisplay dpy, 91 const void *key, 92 EGLint keysize, 93 const void *binary, 94 EGLint binarysize); 95 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ProgramCacheResizeANGLE(EGLDisplay dpy, 96 EGLint limit, 97 EGLint mode); 98 99 // EGL_ANGLE_query_surface_pointer 100 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurfacePointerANGLE(EGLDisplay dpy, 101 EGLSurface surface, 102 EGLint attribute, 103 void **value); 104 105 // EGL_ANGLE_stream_producer_d3d_texture 106 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 107 EGL_CreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, 108 EGLStreamKHR stream, 109 const EGLAttrib *attrib_list); 110 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamPostD3DTextureANGLE(EGLDisplay dpy, 111 EGLStreamKHR stream, 112 void *texture, 113 const EGLAttrib *attrib_list); 114 115 // EGL_ANGLE_swap_with_frame_token 116 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 117 EGL_SwapBuffersWithFrameTokenANGLE(EGLDisplay dpy, 118 EGLSurface surface, 119 EGLFrameTokenANGLE frametoken); 120 121 // EGL_ANGLE_sync_control_rate 122 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetMscRateANGLE(EGLDisplay dpy, 123 EGLSurface surface, 124 EGLint *numerator, 125 EGLint *denominator); 126 127 // EGL_ANGLE_vulkan_image 128 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_ExportVkImageANGLE(EGLDisplay dpy, 129 EGLImage image, 130 void *vk_image, 131 void *vk_image_create_info); 132 133 // EGL_CHROMIUM_sync_control 134 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncValuesCHROMIUM(EGLDisplay dpy, 135 EGLSurface surface, 136 EGLuint64KHR *ust, 137 EGLuint64KHR *msc, 138 EGLuint64KHR *sbc); 139 140 // EGL_EXT_device_query 141 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDeviceAttribEXT(EGLDeviceEXT device, 142 EGLint attribute, 143 EGLAttrib *value); 144 ANGLE_EXPORT const char *EGLAPIENTRY EGL_QueryDeviceStringEXT(EGLDeviceEXT device, EGLint name); 145 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDisplayAttribEXT(EGLDisplay dpy, 146 EGLint attribute, 147 EGLAttrib *value); 148 149 // EGL_EXT_platform_base 150 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy, 151 EGLConfig config, 152 void *native_pixmap, 153 const EGLint *attrib_list); 154 ANGLE_EXPORT EGLSurface EGLAPIENTRY EGL_CreatePlatformWindowSurfaceEXT(EGLDisplay dpy, 155 EGLConfig config, 156 void *native_window, 157 const EGLint *attrib_list); 158 ANGLE_EXPORT EGLDisplay EGLAPIENTRY EGL_GetPlatformDisplayEXT(EGLenum platform, 159 void *native_display, 160 const EGLint *attrib_list); 161 162 // EGL_KHR_debug 163 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_DebugMessageControlKHR(EGLDEBUGPROCKHR callback, 164 const EGLAttrib *attrib_list); 165 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_LabelObjectKHR(EGLDisplay display, 166 EGLenum objectType, 167 EGLObjectKHR object, 168 EGLLabelKHR label); 169 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryDebugKHR(EGLint attribute, EGLAttrib *value); 170 171 // EGL_KHR_fence_sync 172 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_ClientWaitSyncKHR(EGLDisplay dpy, 173 EGLSyncKHR sync, 174 EGLint flags, 175 EGLTimeKHR timeout); 176 ANGLE_EXPORT EGLSyncKHR EGLAPIENTRY EGL_CreateSyncKHR(EGLDisplay dpy, 177 EGLenum type, 178 const EGLint *attrib_list); 179 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); 180 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_GetSyncAttribKHR(EGLDisplay dpy, 181 EGLSyncKHR sync, 182 EGLint attribute, 183 EGLint *value); 184 185 // EGL_KHR_image 186 ANGLE_EXPORT EGLImageKHR EGLAPIENTRY EGL_CreateImageKHR(EGLDisplay dpy, 187 EGLContext ctx, 188 EGLenum target, 189 EGLClientBuffer buffer, 190 const EGLint *attrib_list); 191 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyImageKHR(EGLDisplay dpy, EGLImageKHR image); 192 193 // EGL_KHR_lock_surface3 194 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_LockSurfaceKHR(EGLDisplay dpy, 195 EGLSurface surface, 196 const EGLint *attrib_list); 197 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QuerySurface64KHR(EGLDisplay dpy, 198 EGLSurface surface, 199 EGLint attribute, 200 EGLAttribKHR *value); 201 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_UnlockSurfaceKHR(EGLDisplay dpy, EGLSurface surface); 202 203 // EGL_KHR_reusable_sync 204 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SignalSyncKHR(EGLDisplay dpy, 205 EGLSyncKHR sync, 206 EGLenum mode); 207 208 // EGL_KHR_stream 209 ANGLE_EXPORT EGLStreamKHR EGLAPIENTRY EGL_CreateStreamKHR(EGLDisplay dpy, 210 const EGLint *attrib_list); 211 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_DestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream); 212 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamKHR(EGLDisplay dpy, 213 EGLStreamKHR stream, 214 EGLenum attribute, 215 EGLint *value); 216 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_QueryStreamu64KHR(EGLDisplay dpy, 217 EGLStreamKHR stream, 218 EGLenum attribute, 219 EGLuint64KHR *value); 220 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamAttribKHR(EGLDisplay dpy, 221 EGLStreamKHR stream, 222 EGLenum attribute, 223 EGLint value); 224 225 // EGL_KHR_stream_consumer_gltexture 226 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerAcquireKHR(EGLDisplay dpy, 227 EGLStreamKHR stream); 228 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerGLTextureExternalKHR(EGLDisplay dpy, 229 EGLStreamKHR stream); 230 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_StreamConsumerReleaseKHR(EGLDisplay dpy, 231 EGLStreamKHR stream); 232 233 // EGL_KHR_swap_buffers_with_damage 234 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_SwapBuffersWithDamageKHR(EGLDisplay dpy, 235 EGLSurface surface, 236 const EGLint *rects, 237 EGLint n_rects); 238 239 // EGL_KHR_wait_sync 240 ANGLE_EXPORT EGLint EGLAPIENTRY EGL_WaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); 241 242 // EGL_NV_post_sub_buffer 243 ANGLE_EXPORT EGLBoolean EGLAPIENTRY EGL_PostSubBufferNV(EGLDisplay dpy, 244 EGLSurface surface, 245 EGLint x, 246 EGLint y, 247 EGLint width, 248 EGLint height); 249 250 // EGL_NV_stream_consumer_gltexture_yuv 251 ANGLE_EXPORT EGLBoolean EGLAPIENTRY 252 EGL_StreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy, 253 EGLStreamKHR stream, 254 const EGLAttrib *attrib_list); 255 } // extern "C" 256 257 #endif // LIBGLESV2_ENTRY_POINTS_EGL_EXT_AUTOGEN_H_ 258