tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

eglext.h (72105B)


      1 #ifndef __eglext_h_
      2 #define __eglext_h_ 1
      3 
      4 #ifdef __cplusplus
      5 extern "C" {
      6 #endif
      7 
      8 /*
      9 ** Copyright 2013-2020 The Khronos Group Inc.
     10 ** SPDX-License-Identifier: Apache-2.0
     11 **
     12 ** This header is generated from the Khronos EGL XML API Registry.
     13 ** The current version of the Registry, generator scripts
     14 ** used to make the header, and the header can be found at
     15 **   http://www.khronos.org/registry/egl
     16 **
     17 ** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $
     18 */
     19 
     20 #include <EGL/eglplatform.h>
     21 
     22 #define EGL_EGLEXT_VERSION 20220525
     23 
     24 /* Generated C header for:
     25 * API: egl
     26 * Versions considered: .*
     27 * Versions emitted: _nomatch_^
     28 * Default extensions included: egl
     29 * Additional extensions included: _nomatch_^
     30 * Extensions removed: _nomatch_^
     31 */
     32 
     33 #ifndef EGL_KHR_cl_event
     34 #define EGL_KHR_cl_event 1
     35 #define EGL_CL_EVENT_HANDLE_KHR           0x309C
     36 #define EGL_SYNC_CL_EVENT_KHR             0x30FE
     37 #define EGL_SYNC_CL_EVENT_COMPLETE_KHR    0x30FF
     38 #endif /* EGL_KHR_cl_event */
     39 
     40 #ifndef EGL_KHR_cl_event2
     41 #define EGL_KHR_cl_event2 1
     42 typedef void *EGLSyncKHR;
     43 typedef intptr_t EGLAttribKHR;
     44 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
     45 #ifdef EGL_EGLEXT_PROTOTYPES
     46 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
     47 #endif
     48 #endif /* EGL_KHR_cl_event2 */
     49 
     50 #ifndef EGL_KHR_client_get_all_proc_addresses
     51 #define EGL_KHR_client_get_all_proc_addresses 1
     52 #endif /* EGL_KHR_client_get_all_proc_addresses */
     53 
     54 #ifndef EGL_KHR_config_attribs
     55 #define EGL_KHR_config_attribs 1
     56 #define EGL_CONFORMANT_KHR                0x3042
     57 #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR  0x0020
     58 #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR   0x0040
     59 #endif /* EGL_KHR_config_attribs */
     60 
     61 #ifndef EGL_KHR_context_flush_control
     62 #define EGL_KHR_context_flush_control 1
     63 #define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0
     64 #define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR  0x2097
     65 #define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
     66 #endif /* EGL_KHR_context_flush_control */
     67 
     68 #ifndef EGL_KHR_create_context
     69 #define EGL_KHR_create_context 1
     70 #define EGL_CONTEXT_MAJOR_VERSION_KHR     0x3098
     71 #define EGL_CONTEXT_MINOR_VERSION_KHR     0x30FB
     72 #define EGL_CONTEXT_FLAGS_KHR             0x30FC
     73 #define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
     74 #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
     75 #define EGL_NO_RESET_NOTIFICATION_KHR     0x31BE
     76 #define EGL_LOSE_CONTEXT_ON_RESET_KHR     0x31BF
     77 #define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR  0x00000001
     78 #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
     79 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
     80 #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
     81 #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
     82 #define EGL_OPENGL_ES3_BIT_KHR            0x00000040
     83 #endif /* EGL_KHR_create_context */
     84 
     85 #ifndef EGL_KHR_create_context_no_error
     86 #define EGL_KHR_create_context_no_error 1
     87 #define EGL_CONTEXT_OPENGL_NO_ERROR_KHR   0x31B3
     88 #endif /* EGL_KHR_create_context_no_error */
     89 
     90 #ifndef EGL_KHR_debug
     91 #define EGL_KHR_debug 1
     92 typedef void *EGLLabelKHR;
     93 typedef void *EGLObjectKHR;
     94 typedef void (EGLAPIENTRY  *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
     95 #define EGL_OBJECT_THREAD_KHR             0x33B0
     96 #define EGL_OBJECT_DISPLAY_KHR            0x33B1
     97 #define EGL_OBJECT_CONTEXT_KHR            0x33B2
     98 #define EGL_OBJECT_SURFACE_KHR            0x33B3
     99 #define EGL_OBJECT_IMAGE_KHR              0x33B4
    100 #define EGL_OBJECT_SYNC_KHR               0x33B5
    101 #define EGL_OBJECT_STREAM_KHR             0x33B6
    102 #define EGL_DEBUG_MSG_CRITICAL_KHR        0x33B9
    103 #define EGL_DEBUG_MSG_ERROR_KHR           0x33BA
    104 #define EGL_DEBUG_MSG_WARN_KHR            0x33BB
    105 #define EGL_DEBUG_MSG_INFO_KHR            0x33BC
    106 #define EGL_DEBUG_CALLBACK_KHR            0x33B8
    107 typedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
    108 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value);
    109 typedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
    110 #ifdef EGL_EGLEXT_PROTOTYPES
    111 EGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
    112 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value);
    113 EGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
    114 #endif
    115 #endif /* EGL_KHR_debug */
    116 
    117 #ifndef EGL_KHR_display_reference
    118 #define EGL_KHR_display_reference 1
    119 #define EGL_TRACK_REFERENCES_KHR          0x3352
    120 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value);
    121 #ifdef EGL_EGLEXT_PROTOTYPES
    122 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value);
    123 #endif
    124 #endif /* EGL_KHR_display_reference */
    125 
    126 #ifndef EGL_KHR_fence_sync
    127 #define EGL_KHR_fence_sync 1
    128 typedef khronos_utime_nanoseconds_t EGLTimeKHR;
    129 #ifdef KHRONOS_SUPPORT_INT64
    130 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
    131 #define EGL_SYNC_CONDITION_KHR            0x30F8
    132 #define EGL_SYNC_FENCE_KHR                0x30F9
    133 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
    134 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
    135 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
    136 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
    137 #ifdef EGL_EGLEXT_PROTOTYPES
    138 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
    139 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
    140 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
    141 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
    142 #endif
    143 #endif /* KHRONOS_SUPPORT_INT64 */
    144 #endif /* EGL_KHR_fence_sync */
    145 
    146 #ifndef EGL_KHR_get_all_proc_addresses
    147 #define EGL_KHR_get_all_proc_addresses 1
    148 #endif /* EGL_KHR_get_all_proc_addresses */
    149 
    150 #ifndef EGL_KHR_gl_colorspace
    151 #define EGL_KHR_gl_colorspace 1
    152 #define EGL_GL_COLORSPACE_KHR             0x309D
    153 #define EGL_GL_COLORSPACE_SRGB_KHR        0x3089
    154 #define EGL_GL_COLORSPACE_LINEAR_KHR      0x308A
    155 #endif /* EGL_KHR_gl_colorspace */
    156 
    157 #ifndef EGL_KHR_gl_renderbuffer_image
    158 #define EGL_KHR_gl_renderbuffer_image 1
    159 #define EGL_GL_RENDERBUFFER_KHR           0x30B9
    160 #endif /* EGL_KHR_gl_renderbuffer_image */
    161 
    162 #ifndef EGL_KHR_gl_texture_2D_image
    163 #define EGL_KHR_gl_texture_2D_image 1
    164 #define EGL_GL_TEXTURE_2D_KHR             0x30B1
    165 #define EGL_GL_TEXTURE_LEVEL_KHR          0x30BC
    166 #endif /* EGL_KHR_gl_texture_2D_image */
    167 
    168 #ifndef EGL_KHR_gl_texture_3D_image
    169 #define EGL_KHR_gl_texture_3D_image 1
    170 #define EGL_GL_TEXTURE_3D_KHR             0x30B2
    171 #define EGL_GL_TEXTURE_ZOFFSET_KHR        0x30BD
    172 #endif /* EGL_KHR_gl_texture_3D_image */
    173 
    174 #ifndef EGL_KHR_gl_texture_cubemap_image
    175 #define EGL_KHR_gl_texture_cubemap_image 1
    176 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
    177 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
    178 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
    179 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
    180 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
    181 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
    182 #endif /* EGL_KHR_gl_texture_cubemap_image */
    183 
    184 #ifndef EGL_KHR_image
    185 #define EGL_KHR_image 1
    186 typedef void *EGLImageKHR;
    187 #define EGL_NATIVE_PIXMAP_KHR             0x30B0
    188 #define EGL_NO_IMAGE_KHR                  EGL_CAST(EGLImageKHR,0)
    189 typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
    190 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
    191 #ifdef EGL_EGLEXT_PROTOTYPES
    192 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
    193 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
    194 #endif
    195 #endif /* EGL_KHR_image */
    196 
    197 #ifndef EGL_KHR_image_base
    198 #define EGL_KHR_image_base 1
    199 #define EGL_IMAGE_PRESERVED_KHR           0x30D2
    200 #endif /* EGL_KHR_image_base */
    201 
    202 #ifndef EGL_KHR_image_pixmap
    203 #define EGL_KHR_image_pixmap 1
    204 #endif /* EGL_KHR_image_pixmap */
    205 
    206 #ifndef EGL_KHR_lock_surface
    207 #define EGL_KHR_lock_surface 1
    208 #define EGL_READ_SURFACE_BIT_KHR          0x0001
    209 #define EGL_WRITE_SURFACE_BIT_KHR         0x0002
    210 #define EGL_LOCK_SURFACE_BIT_KHR          0x0080
    211 #define EGL_OPTIMAL_FORMAT_BIT_KHR        0x0100
    212 #define EGL_MATCH_FORMAT_KHR              0x3043
    213 #define EGL_FORMAT_RGB_565_EXACT_KHR      0x30C0
    214 #define EGL_FORMAT_RGB_565_KHR            0x30C1
    215 #define EGL_FORMAT_RGBA_8888_EXACT_KHR    0x30C2
    216 #define EGL_FORMAT_RGBA_8888_KHR          0x30C3
    217 #define EGL_MAP_PRESERVE_PIXELS_KHR       0x30C4
    218 #define EGL_LOCK_USAGE_HINT_KHR           0x30C5
    219 #define EGL_BITMAP_POINTER_KHR            0x30C6
    220 #define EGL_BITMAP_PITCH_KHR              0x30C7
    221 #define EGL_BITMAP_ORIGIN_KHR             0x30C8
    222 #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR   0x30C9
    223 #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
    224 #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR  0x30CB
    225 #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
    226 #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
    227 #define EGL_LOWER_LEFT_KHR                0x30CE
    228 #define EGL_UPPER_LEFT_KHR                0x30CF
    229 typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
    230 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
    231 #ifdef EGL_EGLEXT_PROTOTYPES
    232 EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
    233 EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
    234 #endif
    235 #endif /* EGL_KHR_lock_surface */
    236 
    237 #ifndef EGL_KHR_lock_surface2
    238 #define EGL_KHR_lock_surface2 1
    239 #define EGL_BITMAP_PIXEL_SIZE_KHR         0x3110
    240 #endif /* EGL_KHR_lock_surface2 */
    241 
    242 #ifndef EGL_KHR_lock_surface3
    243 #define EGL_KHR_lock_surface3 1
    244 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
    245 #ifdef EGL_EGLEXT_PROTOTYPES
    246 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
    247 #endif
    248 #endif /* EGL_KHR_lock_surface3 */
    249 
    250 #ifndef EGL_KHR_mutable_render_buffer
    251 #define EGL_KHR_mutable_render_buffer 1
    252 #define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000
    253 #endif /* EGL_KHR_mutable_render_buffer */
    254 
    255 #ifndef EGL_KHR_no_config_context
    256 #define EGL_KHR_no_config_context 1
    257 #define EGL_NO_CONFIG_KHR                 EGL_CAST(EGLConfig,0)
    258 #endif /* EGL_KHR_no_config_context */
    259 
    260 #ifndef EGL_KHR_partial_update
    261 #define EGL_KHR_partial_update 1
    262 #define EGL_BUFFER_AGE_KHR                0x313D
    263 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
    264 #ifdef EGL_EGLEXT_PROTOTYPES
    265 EGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
    266 #endif
    267 #endif /* EGL_KHR_partial_update */
    268 
    269 #ifndef EGL_KHR_platform_android
    270 #define EGL_KHR_platform_android 1
    271 #define EGL_PLATFORM_ANDROID_KHR          0x3141
    272 #endif /* EGL_KHR_platform_android */
    273 
    274 #ifndef EGL_KHR_platform_gbm
    275 #define EGL_KHR_platform_gbm 1
    276 #define EGL_PLATFORM_GBM_KHR              0x31D7
    277 #endif /* EGL_KHR_platform_gbm */
    278 
    279 #ifndef EGL_KHR_platform_wayland
    280 #define EGL_KHR_platform_wayland 1
    281 #define EGL_PLATFORM_WAYLAND_KHR          0x31D8
    282 #endif /* EGL_KHR_platform_wayland */
    283 
    284 #ifndef EGL_KHR_platform_x11
    285 #define EGL_KHR_platform_x11 1
    286 #define EGL_PLATFORM_X11_KHR              0x31D5
    287 #define EGL_PLATFORM_X11_SCREEN_KHR       0x31D6
    288 #endif /* EGL_KHR_platform_x11 */
    289 
    290 #ifndef EGL_KHR_reusable_sync
    291 #define EGL_KHR_reusable_sync 1
    292 #ifdef KHRONOS_SUPPORT_INT64
    293 #define EGL_SYNC_STATUS_KHR               0x30F1
    294 #define EGL_SIGNALED_KHR                  0x30F2
    295 #define EGL_UNSIGNALED_KHR                0x30F3
    296 #define EGL_TIMEOUT_EXPIRED_KHR           0x30F5
    297 #define EGL_CONDITION_SATISFIED_KHR       0x30F6
    298 #define EGL_SYNC_TYPE_KHR                 0x30F7
    299 #define EGL_SYNC_REUSABLE_KHR             0x30FA
    300 #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR   0x0001
    301 #define EGL_FOREVER_KHR                   0xFFFFFFFFFFFFFFFFull
    302 #define EGL_NO_SYNC_KHR                   EGL_CAST(EGLSyncKHR,0)
    303 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
    304 #ifdef EGL_EGLEXT_PROTOTYPES
    305 EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
    306 #endif
    307 #endif /* KHRONOS_SUPPORT_INT64 */
    308 #endif /* EGL_KHR_reusable_sync */
    309 
    310 #ifndef EGL_KHR_stream
    311 #define EGL_KHR_stream 1
    312 typedef void *EGLStreamKHR;
    313 typedef khronos_uint64_t EGLuint64KHR;
    314 #ifdef KHRONOS_SUPPORT_INT64
    315 #define EGL_NO_STREAM_KHR                 EGL_CAST(EGLStreamKHR,0)
    316 #define EGL_CONSUMER_LATENCY_USEC_KHR     0x3210
    317 #define EGL_PRODUCER_FRAME_KHR            0x3212
    318 #define EGL_CONSUMER_FRAME_KHR            0x3213
    319 #define EGL_STREAM_STATE_KHR              0x3214
    320 #define EGL_STREAM_STATE_CREATED_KHR      0x3215
    321 #define EGL_STREAM_STATE_CONNECTING_KHR   0x3216
    322 #define EGL_STREAM_STATE_EMPTY_KHR        0x3217
    323 #define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
    324 #define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
    325 #define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
    326 #define EGL_BAD_STREAM_KHR                0x321B
    327 #define EGL_BAD_STATE_KHR                 0x321C
    328 typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
    329 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
    330 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
    331 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
    332 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
    333 #ifdef EGL_EGLEXT_PROTOTYPES
    334 EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
    335 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
    336 EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
    337 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
    338 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
    339 #endif
    340 #endif /* KHRONOS_SUPPORT_INT64 */
    341 #endif /* EGL_KHR_stream */
    342 
    343 #ifndef EGL_KHR_stream_attrib
    344 #define EGL_KHR_stream_attrib 1
    345 #ifdef KHRONOS_SUPPORT_INT64
    346 typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list);
    347 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
    348 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
    349 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
    350 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
    351 #ifdef EGL_EGLEXT_PROTOTYPES
    352 EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list);
    353 EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
    354 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
    355 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
    356 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
    357 #endif
    358 #endif /* KHRONOS_SUPPORT_INT64 */
    359 #endif /* EGL_KHR_stream_attrib */
    360 
    361 #ifndef EGL_KHR_stream_consumer_gltexture
    362 #define EGL_KHR_stream_consumer_gltexture 1
    363 #ifdef EGL_KHR_stream
    364 #define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
    365 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
    366 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
    367 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
    368 #ifdef EGL_EGLEXT_PROTOTYPES
    369 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
    370 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
    371 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
    372 #endif
    373 #endif /* EGL_KHR_stream */
    374 #endif /* EGL_KHR_stream_consumer_gltexture */
    375 
    376 #ifndef EGL_KHR_stream_cross_process_fd
    377 #define EGL_KHR_stream_cross_process_fd 1
    378 typedef int EGLNativeFileDescriptorKHR;
    379 #ifdef EGL_KHR_stream
    380 #define EGL_NO_FILE_DESCRIPTOR_KHR        EGL_CAST(EGLNativeFileDescriptorKHR,-1)
    381 typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
    382 typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
    383 #ifdef EGL_EGLEXT_PROTOTYPES
    384 EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
    385 EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
    386 #endif
    387 #endif /* EGL_KHR_stream */
    388 #endif /* EGL_KHR_stream_cross_process_fd */
    389 
    390 #ifndef EGL_KHR_stream_fifo
    391 #define EGL_KHR_stream_fifo 1
    392 #ifdef EGL_KHR_stream
    393 #define EGL_STREAM_FIFO_LENGTH_KHR        0x31FC
    394 #define EGL_STREAM_TIME_NOW_KHR           0x31FD
    395 #define EGL_STREAM_TIME_CONSUMER_KHR      0x31FE
    396 #define EGL_STREAM_TIME_PRODUCER_KHR      0x31FF
    397 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
    398 #ifdef EGL_EGLEXT_PROTOTYPES
    399 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
    400 #endif
    401 #endif /* EGL_KHR_stream */
    402 #endif /* EGL_KHR_stream_fifo */
    403 
    404 #ifndef EGL_KHR_stream_producer_aldatalocator
    405 #define EGL_KHR_stream_producer_aldatalocator 1
    406 #ifdef EGL_KHR_stream
    407 #endif /* EGL_KHR_stream */
    408 #endif /* EGL_KHR_stream_producer_aldatalocator */
    409 
    410 #ifndef EGL_KHR_stream_producer_eglsurface
    411 #define EGL_KHR_stream_producer_eglsurface 1
    412 #ifdef EGL_KHR_stream
    413 #define EGL_STREAM_BIT_KHR                0x0800
    414 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
    415 #ifdef EGL_EGLEXT_PROTOTYPES
    416 EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
    417 #endif
    418 #endif /* EGL_KHR_stream */
    419 #endif /* EGL_KHR_stream_producer_eglsurface */
    420 
    421 #ifndef EGL_KHR_surfaceless_context
    422 #define EGL_KHR_surfaceless_context 1
    423 #endif /* EGL_KHR_surfaceless_context */
    424 
    425 #ifndef EGL_KHR_swap_buffers_with_damage
    426 #define EGL_KHR_swap_buffers_with_damage 1
    427 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
    428 #ifdef EGL_EGLEXT_PROTOTYPES
    429 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
    430 #endif
    431 #endif /* EGL_KHR_swap_buffers_with_damage */
    432 
    433 #ifndef EGL_KHR_vg_parent_image
    434 #define EGL_KHR_vg_parent_image 1
    435 #define EGL_VG_PARENT_IMAGE_KHR           0x30BA
    436 #endif /* EGL_KHR_vg_parent_image */
    437 
    438 #ifndef EGL_KHR_wait_sync
    439 #define EGL_KHR_wait_sync 1
    440 typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
    441 #ifdef EGL_EGLEXT_PROTOTYPES
    442 EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
    443 #endif
    444 #endif /* EGL_KHR_wait_sync */
    445 
    446 #ifndef EGL_ANDROID_GLES_layers
    447 #define EGL_ANDROID_GLES_layers 1
    448 #endif /* EGL_ANDROID_GLES_layers */
    449 
    450 #ifndef EGL_ANDROID_blob_cache
    451 #define EGL_ANDROID_blob_cache 1
    452 typedef khronos_ssize_t EGLsizeiANDROID;
    453 typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
    454 typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
    455 typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
    456 #ifdef EGL_EGLEXT_PROTOTYPES
    457 EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
    458 #endif
    459 #endif /* EGL_ANDROID_blob_cache */
    460 
    461 #ifndef EGL_ANDROID_create_native_client_buffer
    462 #define EGL_ANDROID_create_native_client_buffer 1
    463 #define EGL_NATIVE_BUFFER_USAGE_ANDROID   0x3143
    464 #define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001
    465 #define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002
    466 #define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004
    467 typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list);
    468 #ifdef EGL_EGLEXT_PROTOTYPES
    469 EGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list);
    470 #endif
    471 #endif /* EGL_ANDROID_create_native_client_buffer */
    472 
    473 #ifndef EGL_ANDROID_framebuffer_target
    474 #define EGL_ANDROID_framebuffer_target 1
    475 #define EGL_FRAMEBUFFER_TARGET_ANDROID    0x3147
    476 #endif /* EGL_ANDROID_framebuffer_target */
    477 
    478 #ifndef EGL_ANDROID_front_buffer_auto_refresh
    479 #define EGL_ANDROID_front_buffer_auto_refresh 1
    480 #define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
    481 #endif /* EGL_ANDROID_front_buffer_auto_refresh */
    482 
    483 #ifndef EGL_ANDROID_get_frame_timestamps
    484 #define EGL_ANDROID_get_frame_timestamps 1
    485 typedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
    486 #define EGL_TIMESTAMP_PENDING_ANDROID     EGL_CAST(EGLnsecsANDROID,-2)
    487 #define EGL_TIMESTAMP_INVALID_ANDROID     EGL_CAST(EGLnsecsANDROID,-1)
    488 #define EGL_TIMESTAMPS_ANDROID            0x3430
    489 #define EGL_COMPOSITE_DEADLINE_ANDROID    0x3431
    490 #define EGL_COMPOSITE_INTERVAL_ANDROID    0x3432
    491 #define EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID 0x3433
    492 #define EGL_REQUESTED_PRESENT_TIME_ANDROID 0x3434
    493 #define EGL_RENDERING_COMPLETE_TIME_ANDROID 0x3435
    494 #define EGL_COMPOSITION_LATCH_TIME_ANDROID 0x3436
    495 #define EGL_FIRST_COMPOSITION_START_TIME_ANDROID 0x3437
    496 #define EGL_LAST_COMPOSITION_START_TIME_ANDROID 0x3438
    497 #define EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID 0x3439
    498 #define EGL_DISPLAY_PRESENT_TIME_ANDROID  0x343A
    499 #define EGL_DEQUEUE_READY_TIME_ANDROID    0x343B
    500 #define EGL_READS_DONE_TIME_ANDROID       0x343C
    501 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name);
    502 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps,  const EGLint *names, EGLnsecsANDROID *values);
    503 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
    504 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
    505 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps,  const EGLint *timestamps, EGLnsecsANDROID *values);
    506 #ifdef EGL_EGLEXT_PROTOTYPES
    507 EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name);
    508 EGLAPI EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps,  const EGLint *names, EGLnsecsANDROID *values);
    509 EGLAPI EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId);
    510 EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp);
    511 EGLAPI EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps,  const EGLint *timestamps, EGLnsecsANDROID *values);
    512 #endif
    513 #endif /* EGL_ANDROID_get_frame_timestamps */
    514 
    515 #ifndef EGL_ANDROID_get_native_client_buffer
    516 #define EGL_ANDROID_get_native_client_buffer 1
    517 struct AHardwareBuffer;
    518 typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer);
    519 #ifdef EGL_EGLEXT_PROTOTYPES
    520 EGLAPI EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer);
    521 #endif
    522 #endif /* EGL_ANDROID_get_native_client_buffer */
    523 
    524 #ifndef EGL_ANDROID_image_native_buffer
    525 #define EGL_ANDROID_image_native_buffer 1
    526 #define EGL_NATIVE_BUFFER_ANDROID         0x3140
    527 #endif /* EGL_ANDROID_image_native_buffer */
    528 
    529 #ifndef EGL_ANDROID_native_fence_sync
    530 #define EGL_ANDROID_native_fence_sync 1
    531 #define EGL_SYNC_NATIVE_FENCE_ANDROID     0x3144
    532 #define EGL_SYNC_NATIVE_FENCE_FD_ANDROID  0x3145
    533 #define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
    534 #define EGL_NO_NATIVE_FENCE_FD_ANDROID    -1
    535 typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
    536 #ifdef EGL_EGLEXT_PROTOTYPES
    537 EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
    538 #endif
    539 #endif /* EGL_ANDROID_native_fence_sync */
    540 
    541 #ifndef EGL_ANDROID_presentation_time
    542 #define EGL_ANDROID_presentation_time 1
    543 typedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
    544 #ifdef EGL_EGLEXT_PROTOTYPES
    545 EGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
    546 #endif
    547 #endif /* EGL_ANDROID_presentation_time */
    548 
    549 #ifndef EGL_ANDROID_recordable
    550 #define EGL_ANDROID_recordable 1
    551 #define EGL_RECORDABLE_ANDROID            0x3142
    552 #endif /* EGL_ANDROID_recordable */
    553 
    554 #ifndef EGL_ANGLE_d3d_share_handle_client_buffer
    555 #define EGL_ANGLE_d3d_share_handle_client_buffer 1
    556 #define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
    557 #endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
    558 
    559 #ifndef EGL_ANGLE_device_d3d
    560 #define EGL_ANGLE_device_d3d 1
    561 #define EGL_D3D9_DEVICE_ANGLE             0x33A0
    562 #define EGL_D3D11_DEVICE_ANGLE            0x33A1
    563 #endif /* EGL_ANGLE_device_d3d */
    564 
    565 #ifndef EGL_ANGLE_query_surface_pointer
    566 #define EGL_ANGLE_query_surface_pointer 1
    567 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
    568 #ifdef EGL_EGLEXT_PROTOTYPES
    569 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
    570 #endif
    571 #endif /* EGL_ANGLE_query_surface_pointer */
    572 
    573 #ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
    574 #define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
    575 #endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
    576 
    577 #ifndef EGL_ANGLE_sync_control_rate
    578 #define EGL_ANGLE_sync_control_rate 1
    579 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
    580 #ifdef EGL_EGLEXT_PROTOTYPES
    581 EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE (EGLDisplay dpy, EGLSurface surface, EGLint *numerator, EGLint *denominator);
    582 #endif
    583 #endif /* EGL_ANGLE_sync_control_rate */
    584 
    585 #ifndef EGL_ANGLE_window_fixed_size
    586 #define EGL_ANGLE_window_fixed_size 1
    587 #define EGL_FIXED_SIZE_ANGLE              0x3201
    588 #endif /* EGL_ANGLE_window_fixed_size */
    589 
    590 #ifndef EGL_ARM_image_format
    591 #define EGL_ARM_image_format 1
    592 #define EGL_COLOR_COMPONENT_TYPE_UNSIGNED_INTEGER_ARM 0x3287
    593 #define EGL_COLOR_COMPONENT_TYPE_INTEGER_ARM 0x3288
    594 #endif /* EGL_ARM_image_format */
    595 
    596 #ifndef EGL_ARM_implicit_external_sync
    597 #define EGL_ARM_implicit_external_sync 1
    598 #define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
    599 #endif /* EGL_ARM_implicit_external_sync */
    600 
    601 #ifndef EGL_ARM_pixmap_multisample_discard
    602 #define EGL_ARM_pixmap_multisample_discard 1
    603 #define EGL_DISCARD_SAMPLES_ARM           0x3286
    604 #endif /* EGL_ARM_pixmap_multisample_discard */
    605 
    606 #ifndef EGL_EXT_bind_to_front
    607 #define EGL_EXT_bind_to_front 1
    608 #define EGL_FRONT_BUFFER_EXT              0x3464
    609 #endif /* EGL_EXT_bind_to_front */
    610 
    611 #ifndef EGL_EXT_buffer_age
    612 #define EGL_EXT_buffer_age 1
    613 #define EGL_BUFFER_AGE_EXT                0x313D
    614 #endif /* EGL_EXT_buffer_age */
    615 
    616 #ifndef EGL_EXT_client_extensions
    617 #define EGL_EXT_client_extensions 1
    618 #endif /* EGL_EXT_client_extensions */
    619 
    620 #ifndef EGL_EXT_client_sync
    621 #define EGL_EXT_client_sync 1
    622 #define EGL_SYNC_CLIENT_EXT               0x3364
    623 #define EGL_SYNC_CLIENT_SIGNAL_EXT        0x3365
    624 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
    625 #ifdef EGL_EGLEXT_PROTOTYPES
    626 EGLAPI EGLBoolean EGLAPIENTRY eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
    627 #endif
    628 #endif /* EGL_EXT_client_sync */
    629 
    630 #ifndef EGL_EXT_compositor
    631 #define EGL_EXT_compositor 1
    632 #define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460
    633 #define EGL_EXTERNAL_REF_ID_EXT           0x3461
    634 #define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462
    635 #define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463
    636 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries);
    637 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
    638 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
    639 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
    640 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id);
    641 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height);
    642 typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy);
    643 #ifdef EGL_EGLEXT_PROTOTYPES
    644 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries);
    645 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
    646 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
    647 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
    648 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id);
    649 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height);
    650 EGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy);
    651 #endif
    652 #endif /* EGL_EXT_compositor */
    653 
    654 #ifndef EGL_EXT_config_select_group
    655 #define EGL_EXT_config_select_group 1
    656 #define EGL_CONFIG_SELECT_GROUP_EXT       0x34C0
    657 #endif /* EGL_EXT_config_select_group */
    658 
    659 #ifndef EGL_EXT_create_context_robustness
    660 #define EGL_EXT_create_context_robustness 1
    661 #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
    662 #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
    663 #define EGL_NO_RESET_NOTIFICATION_EXT     0x31BE
    664 #define EGL_LOSE_CONTEXT_ON_RESET_EXT     0x31BF
    665 #endif /* EGL_EXT_create_context_robustness */
    666 
    667 #ifndef EGL_EXT_device_base
    668 #define EGL_EXT_device_base 1
    669 typedef void *EGLDeviceEXT;
    670 #define EGL_NO_DEVICE_EXT                 EGL_CAST(EGLDeviceEXT,0)
    671 #define EGL_BAD_DEVICE_EXT                0x322B
    672 #define EGL_DEVICE_EXT                    0x322C
    673 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
    674 typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
    675 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
    676 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
    677 #ifdef EGL_EGLEXT_PROTOTYPES
    678 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
    679 EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
    680 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
    681 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
    682 #endif
    683 #endif /* EGL_EXT_device_base */
    684 
    685 #ifndef EGL_EXT_device_drm
    686 #define EGL_EXT_device_drm 1
    687 #define EGL_DRM_DEVICE_FILE_EXT           0x3233
    688 #define EGL_DRM_MASTER_FD_EXT             0x333C
    689 #endif /* EGL_EXT_device_drm */
    690 
    691 #ifndef EGL_EXT_device_drm_render_node
    692 #define EGL_EXT_device_drm_render_node 1
    693 #define EGL_DRM_RENDER_NODE_FILE_EXT      0x3377
    694 #endif /* EGL_EXT_device_drm_render_node */
    695 
    696 #ifndef EGL_EXT_device_enumeration
    697 #define EGL_EXT_device_enumeration 1
    698 #endif /* EGL_EXT_device_enumeration */
    699 
    700 #ifndef EGL_EXT_device_openwf
    701 #define EGL_EXT_device_openwf 1
    702 #define EGL_OPENWF_DEVICE_ID_EXT          0x3237
    703 #define EGL_OPENWF_DEVICE_EXT             0x333D
    704 #endif /* EGL_EXT_device_openwf */
    705 
    706 #ifndef EGL_EXT_device_persistent_id
    707 #define EGL_EXT_device_persistent_id 1
    708 #define EGL_DEVICE_UUID_EXT               0x335C
    709 #define EGL_DRIVER_UUID_EXT               0x335D
    710 #define EGL_DRIVER_NAME_EXT               0x335E
    711 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEBINARYEXTPROC) (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
    712 #ifdef EGL_EGLEXT_PROTOTYPES
    713 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLint name, EGLint max_size, void *value, EGLint *size);
    714 #endif
    715 #endif /* EGL_EXT_device_persistent_id */
    716 
    717 #ifndef EGL_EXT_device_query
    718 #define EGL_EXT_device_query 1
    719 #endif /* EGL_EXT_device_query */
    720 
    721 #ifndef EGL_EXT_device_query_name
    722 #define EGL_EXT_device_query_name 1
    723 #define EGL_RENDERER_EXT                  0x335F
    724 #endif /* EGL_EXT_device_query_name */
    725 
    726 #ifndef EGL_EXT_explicit_device
    727 #define EGL_EXT_explicit_device 1
    728 #endif /* EGL_EXT_explicit_device */
    729 
    730 #ifndef EGL_EXT_gl_colorspace_bt2020_linear
    731 #define EGL_EXT_gl_colorspace_bt2020_linear 1
    732 #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
    733 #endif /* EGL_EXT_gl_colorspace_bt2020_linear */
    734 
    735 #ifndef EGL_EXT_gl_colorspace_bt2020_pq
    736 #define EGL_EXT_gl_colorspace_bt2020_pq 1
    737 #define EGL_GL_COLORSPACE_BT2020_PQ_EXT   0x3340
    738 #endif /* EGL_EXT_gl_colorspace_bt2020_pq */
    739 
    740 #ifndef EGL_EXT_gl_colorspace_display_p3
    741 #define EGL_EXT_gl_colorspace_display_p3 1
    742 #define EGL_GL_COLORSPACE_DISPLAY_P3_EXT  0x3363
    743 #endif /* EGL_EXT_gl_colorspace_display_p3 */
    744 
    745 #ifndef EGL_EXT_gl_colorspace_display_p3_linear
    746 #define EGL_EXT_gl_colorspace_display_p3_linear 1
    747 #define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
    748 #endif /* EGL_EXT_gl_colorspace_display_p3_linear */
    749 
    750 #ifndef EGL_EXT_gl_colorspace_display_p3_passthrough
    751 #define EGL_EXT_gl_colorspace_display_p3_passthrough 1
    752 #define EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT 0x3490
    753 #endif /* EGL_EXT_gl_colorspace_display_p3_passthrough */
    754 
    755 #ifndef EGL_EXT_gl_colorspace_scrgb
    756 #define EGL_EXT_gl_colorspace_scrgb 1
    757 #define EGL_GL_COLORSPACE_SCRGB_EXT       0x3351
    758 #endif /* EGL_EXT_gl_colorspace_scrgb */
    759 
    760 #ifndef EGL_EXT_gl_colorspace_scrgb_linear
    761 #define EGL_EXT_gl_colorspace_scrgb_linear 1
    762 #define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
    763 #endif /* EGL_EXT_gl_colorspace_scrgb_linear */
    764 
    765 #ifndef EGL_EXT_image_dma_buf_import
    766 #define EGL_EXT_image_dma_buf_import 1
    767 #define EGL_LINUX_DMA_BUF_EXT             0x3270
    768 #define EGL_LINUX_DRM_FOURCC_EXT          0x3271
    769 #define EGL_DMA_BUF_PLANE0_FD_EXT         0x3272
    770 #define EGL_DMA_BUF_PLANE0_OFFSET_EXT     0x3273
    771 #define EGL_DMA_BUF_PLANE0_PITCH_EXT      0x3274
    772 #define EGL_DMA_BUF_PLANE1_FD_EXT         0x3275
    773 #define EGL_DMA_BUF_PLANE1_OFFSET_EXT     0x3276
    774 #define EGL_DMA_BUF_PLANE1_PITCH_EXT      0x3277
    775 #define EGL_DMA_BUF_PLANE2_FD_EXT         0x3278
    776 #define EGL_DMA_BUF_PLANE2_OFFSET_EXT     0x3279
    777 #define EGL_DMA_BUF_PLANE2_PITCH_EXT      0x327A
    778 #define EGL_YUV_COLOR_SPACE_HINT_EXT      0x327B
    779 #define EGL_SAMPLE_RANGE_HINT_EXT         0x327C
    780 #define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
    781 #define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
    782 #define EGL_ITU_REC601_EXT                0x327F
    783 #define EGL_ITU_REC709_EXT                0x3280
    784 #define EGL_ITU_REC2020_EXT               0x3281
    785 #define EGL_YUV_FULL_RANGE_EXT            0x3282
    786 #define EGL_YUV_NARROW_RANGE_EXT          0x3283
    787 #define EGL_YUV_CHROMA_SITING_0_EXT       0x3284
    788 #define EGL_YUV_CHROMA_SITING_0_5_EXT     0x3285
    789 #endif /* EGL_EXT_image_dma_buf_import */
    790 
    791 #ifndef EGL_EXT_image_dma_buf_import_modifiers
    792 #define EGL_EXT_image_dma_buf_import_modifiers 1
    793 #define EGL_DMA_BUF_PLANE3_FD_EXT         0x3440
    794 #define EGL_DMA_BUF_PLANE3_OFFSET_EXT     0x3441
    795 #define EGL_DMA_BUF_PLANE3_PITCH_EXT      0x3442
    796 #define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
    797 #define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
    798 #define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
    799 #define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
    800 #define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
    801 #define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
    802 #define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
    803 #define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
    804 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
    805 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
    806 #ifdef EGL_EGLEXT_PROTOTYPES
    807 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
    808 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
    809 #endif
    810 #endif /* EGL_EXT_image_dma_buf_import_modifiers */
    811 
    812 #ifndef EGL_EXT_image_gl_colorspace
    813 #define EGL_EXT_image_gl_colorspace 1
    814 #define EGL_GL_COLORSPACE_DEFAULT_EXT     0x314D
    815 #endif /* EGL_EXT_image_gl_colorspace */
    816 
    817 #ifndef EGL_EXT_image_implicit_sync_control
    818 #define EGL_EXT_image_implicit_sync_control 1
    819 #define EGL_IMPORT_SYNC_TYPE_EXT          0x3470
    820 #define EGL_IMPORT_IMPLICIT_SYNC_EXT      0x3471
    821 #define EGL_IMPORT_EXPLICIT_SYNC_EXT      0x3472
    822 #endif /* EGL_EXT_image_implicit_sync_control */
    823 
    824 #ifndef EGL_EXT_multiview_window
    825 #define EGL_EXT_multiview_window 1
    826 #define EGL_MULTIVIEW_VIEW_COUNT_EXT      0x3134
    827 #endif /* EGL_EXT_multiview_window */
    828 
    829 #ifndef EGL_EXT_output_base
    830 #define EGL_EXT_output_base 1
    831 typedef void *EGLOutputLayerEXT;
    832 typedef void *EGLOutputPortEXT;
    833 #define EGL_NO_OUTPUT_LAYER_EXT           EGL_CAST(EGLOutputLayerEXT,0)
    834 #define EGL_NO_OUTPUT_PORT_EXT            EGL_CAST(EGLOutputPortEXT,0)
    835 #define EGL_BAD_OUTPUT_LAYER_EXT          0x322D
    836 #define EGL_BAD_OUTPUT_PORT_EXT           0x322E
    837 #define EGL_SWAP_INTERVAL_EXT             0x322F
    838 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
    839 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
    840 typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
    841 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
    842 typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
    843 typedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
    844 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
    845 typedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
    846 #ifdef EGL_EGLEXT_PROTOTYPES
    847 EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
    848 EGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
    849 EGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
    850 EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
    851 EGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
    852 EGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
    853 EGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
    854 EGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
    855 #endif
    856 #endif /* EGL_EXT_output_base */
    857 
    858 #ifndef EGL_EXT_output_drm
    859 #define EGL_EXT_output_drm 1
    860 #define EGL_DRM_CRTC_EXT                  0x3234
    861 #define EGL_DRM_PLANE_EXT                 0x3235
    862 #define EGL_DRM_CONNECTOR_EXT             0x3236
    863 #endif /* EGL_EXT_output_drm */
    864 
    865 #ifndef EGL_EXT_output_openwf
    866 #define EGL_EXT_output_openwf 1
    867 #define EGL_OPENWF_PIPELINE_ID_EXT        0x3238
    868 #define EGL_OPENWF_PORT_ID_EXT            0x3239
    869 #endif /* EGL_EXT_output_openwf */
    870 
    871 #ifndef EGL_EXT_pixel_format_float
    872 #define EGL_EXT_pixel_format_float 1
    873 #define EGL_COLOR_COMPONENT_TYPE_EXT      0x3339
    874 #define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
    875 #define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
    876 #endif /* EGL_EXT_pixel_format_float */
    877 
    878 #ifndef EGL_EXT_platform_base
    879 #define EGL_EXT_platform_base 1
    880 typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
    881 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
    882 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
    883 #ifdef EGL_EGLEXT_PROTOTYPES
    884 EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
    885 EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
    886 EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
    887 #endif
    888 #endif /* EGL_EXT_platform_base */
    889 
    890 #ifndef EGL_EXT_platform_device
    891 #define EGL_EXT_platform_device 1
    892 #define EGL_PLATFORM_DEVICE_EXT           0x313F
    893 #endif /* EGL_EXT_platform_device */
    894 
    895 #ifndef EGL_EXT_platform_wayland
    896 #define EGL_EXT_platform_wayland 1
    897 #define EGL_PLATFORM_WAYLAND_EXT          0x31D8
    898 #endif /* EGL_EXT_platform_wayland */
    899 
    900 #ifndef EGL_EXT_platform_x11
    901 #define EGL_EXT_platform_x11 1
    902 #define EGL_PLATFORM_X11_EXT              0x31D5
    903 #define EGL_PLATFORM_X11_SCREEN_EXT       0x31D6
    904 #endif /* EGL_EXT_platform_x11 */
    905 
    906 #ifndef EGL_EXT_platform_xcb
    907 #define EGL_EXT_platform_xcb 1
    908 #define EGL_PLATFORM_XCB_EXT              0x31DC
    909 #define EGL_PLATFORM_XCB_SCREEN_EXT       0x31DE
    910 #endif /* EGL_EXT_platform_xcb */
    911 
    912 #ifndef EGL_EXT_present_opaque
    913 #define EGL_EXT_present_opaque 1
    914 #define EGL_PRESENT_OPAQUE_EXT            0x31DF
    915 #endif /* EGL_EXT_present_opaque */
    916 
    917 #ifndef EGL_EXT_protected_content
    918 #define EGL_EXT_protected_content 1
    919 #define EGL_PROTECTED_CONTENT_EXT         0x32C0
    920 #endif /* EGL_EXT_protected_content */
    921 
    922 #ifndef EGL_EXT_protected_surface
    923 #define EGL_EXT_protected_surface 1
    924 #endif /* EGL_EXT_protected_surface */
    925 
    926 #ifndef EGL_EXT_stream_consumer_egloutput
    927 #define EGL_EXT_stream_consumer_egloutput 1
    928 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
    929 #ifdef EGL_EGLEXT_PROTOTYPES
    930 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
    931 #endif
    932 #endif /* EGL_EXT_stream_consumer_egloutput */
    933 
    934 #ifndef EGL_EXT_surface_CTA861_3_metadata
    935 #define EGL_EXT_surface_CTA861_3_metadata 1
    936 #define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360
    937 #define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
    938 #endif /* EGL_EXT_surface_CTA861_3_metadata */
    939 
    940 #ifndef EGL_EXT_surface_SMPTE2086_metadata
    941 #define EGL_EXT_surface_SMPTE2086_metadata 1
    942 #define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
    943 #define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342
    944 #define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343
    945 #define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344
    946 #define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345
    947 #define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346
    948 #define EGL_SMPTE2086_WHITE_POINT_X_EXT   0x3347
    949 #define EGL_SMPTE2086_WHITE_POINT_Y_EXT   0x3348
    950 #define EGL_SMPTE2086_MAX_LUMINANCE_EXT   0x3349
    951 #define EGL_SMPTE2086_MIN_LUMINANCE_EXT   0x334A
    952 #define EGL_METADATA_SCALING_EXT          50000
    953 #endif /* EGL_EXT_surface_SMPTE2086_metadata */
    954 
    955 #ifndef EGL_EXT_surface_compression
    956 #define EGL_EXT_surface_compression 1
    957 #define EGL_SURFACE_COMPRESSION_EXT       0x34B0
    958 #define EGL_SURFACE_COMPRESSION_PLANE1_EXT 0x328E
    959 #define EGL_SURFACE_COMPRESSION_PLANE2_EXT 0x328F
    960 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x34B1
    961 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x34B2
    962 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x34B4
    963 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x34B5
    964 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x34B6
    965 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x34B7
    966 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x34B8
    967 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x34B9
    968 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x34BA
    969 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x34BB
    970 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x34BC
    971 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD
    972 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE
    973 #define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF
    974 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
    975 #ifdef EGL_EGLEXT_PROTOTYPES
    976 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates);
    977 #endif
    978 #endif /* EGL_EXT_surface_compression */
    979 
    980 #ifndef EGL_EXT_swap_buffers_with_damage
    981 #define EGL_EXT_swap_buffers_with_damage 1
    982 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
    983 #ifdef EGL_EGLEXT_PROTOTYPES
    984 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects);
    985 #endif
    986 #endif /* EGL_EXT_swap_buffers_with_damage */
    987 
    988 #ifndef EGL_EXT_sync_reuse
    989 #define EGL_EXT_sync_reuse 1
    990 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
    991 #ifdef EGL_EGLEXT_PROTOTYPES
    992 EGLAPI EGLBoolean EGLAPIENTRY eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list);
    993 #endif
    994 #endif /* EGL_EXT_sync_reuse */
    995 
    996 #ifndef EGL_EXT_yuv_surface
    997 #define EGL_EXT_yuv_surface 1
    998 #define EGL_YUV_ORDER_EXT                 0x3301
    999 #define EGL_YUV_NUMBER_OF_PLANES_EXT      0x3311
   1000 #define EGL_YUV_SUBSAMPLE_EXT             0x3312
   1001 #define EGL_YUV_DEPTH_RANGE_EXT           0x3317
   1002 #define EGL_YUV_CSC_STANDARD_EXT          0x330A
   1003 #define EGL_YUV_PLANE_BPP_EXT             0x331A
   1004 #define EGL_YUV_BUFFER_EXT                0x3300
   1005 #define EGL_YUV_ORDER_YUV_EXT             0x3302
   1006 #define EGL_YUV_ORDER_YVU_EXT             0x3303
   1007 #define EGL_YUV_ORDER_YUYV_EXT            0x3304
   1008 #define EGL_YUV_ORDER_UYVY_EXT            0x3305
   1009 #define EGL_YUV_ORDER_YVYU_EXT            0x3306
   1010 #define EGL_YUV_ORDER_VYUY_EXT            0x3307
   1011 #define EGL_YUV_ORDER_AYUV_EXT            0x3308
   1012 #define EGL_YUV_SUBSAMPLE_4_2_0_EXT       0x3313
   1013 #define EGL_YUV_SUBSAMPLE_4_2_2_EXT       0x3314
   1014 #define EGL_YUV_SUBSAMPLE_4_4_4_EXT       0x3315
   1015 #define EGL_YUV_DEPTH_RANGE_LIMITED_EXT   0x3318
   1016 #define EGL_YUV_DEPTH_RANGE_FULL_EXT      0x3319
   1017 #define EGL_YUV_CSC_STANDARD_601_EXT      0x330B
   1018 #define EGL_YUV_CSC_STANDARD_709_EXT      0x330C
   1019 #define EGL_YUV_CSC_STANDARD_2020_EXT     0x330D
   1020 #define EGL_YUV_PLANE_BPP_0_EXT           0x331B
   1021 #define EGL_YUV_PLANE_BPP_8_EXT           0x331C
   1022 #define EGL_YUV_PLANE_BPP_10_EXT          0x331D
   1023 #endif /* EGL_EXT_yuv_surface */
   1024 
   1025 #ifndef EGL_HI_clientpixmap
   1026 #define EGL_HI_clientpixmap 1
   1027 struct EGLClientPixmapHI {
   1028    void  *pData;
   1029    EGLint iWidth;
   1030    EGLint iHeight;
   1031    EGLint iStride;
   1032 };
   1033 #define EGL_CLIENT_PIXMAP_POINTER_HI      0x8F74
   1034 typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
   1035 #ifdef EGL_EGLEXT_PROTOTYPES
   1036 EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
   1037 #endif
   1038 #endif /* EGL_HI_clientpixmap */
   1039 
   1040 #ifndef EGL_HI_colorformats
   1041 #define EGL_HI_colorformats 1
   1042 #define EGL_COLOR_FORMAT_HI               0x8F70
   1043 #define EGL_COLOR_RGB_HI                  0x8F71
   1044 #define EGL_COLOR_RGBA_HI                 0x8F72
   1045 #define EGL_COLOR_ARGB_HI                 0x8F73
   1046 #endif /* EGL_HI_colorformats */
   1047 
   1048 #ifndef EGL_IMG_context_priority
   1049 #define EGL_IMG_context_priority 1
   1050 #define EGL_CONTEXT_PRIORITY_LEVEL_IMG    0x3100
   1051 #define EGL_CONTEXT_PRIORITY_HIGH_IMG     0x3101
   1052 #define EGL_CONTEXT_PRIORITY_MEDIUM_IMG   0x3102
   1053 #define EGL_CONTEXT_PRIORITY_LOW_IMG      0x3103
   1054 #endif /* EGL_IMG_context_priority */
   1055 
   1056 #ifndef EGL_IMG_image_plane_attribs
   1057 #define EGL_IMG_image_plane_attribs 1
   1058 #define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
   1059 #define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
   1060 #endif /* EGL_IMG_image_plane_attribs */
   1061 
   1062 #ifndef EGL_MESA_drm_image
   1063 #define EGL_MESA_drm_image 1
   1064 #define EGL_DRM_BUFFER_FORMAT_MESA        0x31D0
   1065 #define EGL_DRM_BUFFER_USE_MESA           0x31D1
   1066 #define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
   1067 #define EGL_DRM_BUFFER_MESA               0x31D3
   1068 #define EGL_DRM_BUFFER_STRIDE_MESA        0x31D4
   1069 #define EGL_DRM_BUFFER_USE_SCANOUT_MESA   0x00000001
   1070 #define EGL_DRM_BUFFER_USE_SHARE_MESA     0x00000002
   1071 #define EGL_DRM_BUFFER_USE_CURSOR_MESA    0x00000004
   1072 typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
   1073 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
   1074 #ifdef EGL_EGLEXT_PROTOTYPES
   1075 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
   1076 EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
   1077 #endif
   1078 #endif /* EGL_MESA_drm_image */
   1079 
   1080 #ifndef EGL_MESA_image_dma_buf_export
   1081 #define EGL_MESA_image_dma_buf_export 1
   1082 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
   1083 typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
   1084 #ifdef EGL_EGLEXT_PROTOTYPES
   1085 EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
   1086 EGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
   1087 #endif
   1088 #endif /* EGL_MESA_image_dma_buf_export */
   1089 
   1090 #ifndef EGL_MESA_platform_gbm
   1091 #define EGL_MESA_platform_gbm 1
   1092 #define EGL_PLATFORM_GBM_MESA             0x31D7
   1093 #endif /* EGL_MESA_platform_gbm */
   1094 
   1095 #ifndef EGL_MESA_platform_surfaceless
   1096 #define EGL_MESA_platform_surfaceless 1
   1097 #define EGL_PLATFORM_SURFACELESS_MESA     0x31DD
   1098 #endif /* EGL_MESA_platform_surfaceless */
   1099 
   1100 #ifndef EGL_MESA_query_driver
   1101 #define EGL_MESA_query_driver 1
   1102 typedef char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERCONFIGPROC) (EGLDisplay dpy);
   1103 typedef const char *(EGLAPIENTRYP PFNEGLGETDISPLAYDRIVERNAMEPROC) (EGLDisplay dpy);
   1104 #ifdef EGL_EGLEXT_PROTOTYPES
   1105 EGLAPI char *EGLAPIENTRY eglGetDisplayDriverConfig (EGLDisplay dpy);
   1106 EGLAPI const char *EGLAPIENTRY eglGetDisplayDriverName (EGLDisplay dpy);
   1107 #endif
   1108 #endif /* EGL_MESA_query_driver */
   1109 
   1110 #ifndef EGL_NOK_swap_region
   1111 #define EGL_NOK_swap_region 1
   1112 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
   1113 #ifdef EGL_EGLEXT_PROTOTYPES
   1114 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
   1115 #endif
   1116 #endif /* EGL_NOK_swap_region */
   1117 
   1118 #ifndef EGL_NOK_swap_region2
   1119 #define EGL_NOK_swap_region2 1
   1120 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
   1121 #ifdef EGL_EGLEXT_PROTOTYPES
   1122 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
   1123 #endif
   1124 #endif /* EGL_NOK_swap_region2 */
   1125 
   1126 #ifndef EGL_NOK_texture_from_pixmap
   1127 #define EGL_NOK_texture_from_pixmap 1
   1128 #define EGL_Y_INVERTED_NOK                0x307F
   1129 #endif /* EGL_NOK_texture_from_pixmap */
   1130 
   1131 #ifndef EGL_NV_3dvision_surface
   1132 #define EGL_NV_3dvision_surface 1
   1133 #define EGL_AUTO_STEREO_NV                0x3136
   1134 #endif /* EGL_NV_3dvision_surface */
   1135 
   1136 #ifndef EGL_NV_context_priority_realtime
   1137 #define EGL_NV_context_priority_realtime 1
   1138 #define EGL_CONTEXT_PRIORITY_REALTIME_NV  0x3357
   1139 #endif /* EGL_NV_context_priority_realtime */
   1140 
   1141 #ifndef EGL_NV_coverage_sample
   1142 #define EGL_NV_coverage_sample 1
   1143 #define EGL_COVERAGE_BUFFERS_NV           0x30E0
   1144 #define EGL_COVERAGE_SAMPLES_NV           0x30E1
   1145 #endif /* EGL_NV_coverage_sample */
   1146 
   1147 #ifndef EGL_NV_coverage_sample_resolve
   1148 #define EGL_NV_coverage_sample_resolve 1
   1149 #define EGL_COVERAGE_SAMPLE_RESOLVE_NV    0x3131
   1150 #define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
   1151 #define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
   1152 #endif /* EGL_NV_coverage_sample_resolve */
   1153 
   1154 #ifndef EGL_NV_cuda_event
   1155 #define EGL_NV_cuda_event 1
   1156 #define EGL_CUDA_EVENT_HANDLE_NV          0x323B
   1157 #define EGL_SYNC_CUDA_EVENT_NV            0x323C
   1158 #define EGL_SYNC_CUDA_EVENT_COMPLETE_NV   0x323D
   1159 #endif /* EGL_NV_cuda_event */
   1160 
   1161 #ifndef EGL_NV_depth_nonlinear
   1162 #define EGL_NV_depth_nonlinear 1
   1163 #define EGL_DEPTH_ENCODING_NV             0x30E2
   1164 #define EGL_DEPTH_ENCODING_NONE_NV        0
   1165 #define EGL_DEPTH_ENCODING_NONLINEAR_NV   0x30E3
   1166 #endif /* EGL_NV_depth_nonlinear */
   1167 
   1168 #ifndef EGL_NV_device_cuda
   1169 #define EGL_NV_device_cuda 1
   1170 #define EGL_CUDA_DEVICE_NV                0x323A
   1171 #endif /* EGL_NV_device_cuda */
   1172 
   1173 #ifndef EGL_NV_native_query
   1174 #define EGL_NV_native_query 1
   1175 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
   1176 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
   1177 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
   1178 #ifdef EGL_EGLEXT_PROTOTYPES
   1179 EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
   1180 EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
   1181 EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
   1182 #endif
   1183 #endif /* EGL_NV_native_query */
   1184 
   1185 #ifndef EGL_NV_post_convert_rounding
   1186 #define EGL_NV_post_convert_rounding 1
   1187 #endif /* EGL_NV_post_convert_rounding */
   1188 
   1189 #ifndef EGL_NV_post_sub_buffer
   1190 #define EGL_NV_post_sub_buffer 1
   1191 #define EGL_POST_SUB_BUFFER_SUPPORTED_NV  0x30BE
   1192 typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
   1193 #ifdef EGL_EGLEXT_PROTOTYPES
   1194 EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
   1195 #endif
   1196 #endif /* EGL_NV_post_sub_buffer */
   1197 
   1198 #ifndef EGL_NV_quadruple_buffer
   1199 #define EGL_NV_quadruple_buffer 1
   1200 #define EGL_QUADRUPLE_BUFFER_NV           0x3231
   1201 #endif /* EGL_NV_quadruple_buffer */
   1202 
   1203 #ifndef EGL_NV_robustness_video_memory_purge
   1204 #define EGL_NV_robustness_video_memory_purge 1
   1205 #define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
   1206 #endif /* EGL_NV_robustness_video_memory_purge */
   1207 
   1208 #ifndef EGL_NV_stream_consumer_eglimage
   1209 #define EGL_NV_stream_consumer_eglimage 1
   1210 #define EGL_STREAM_CONSUMER_IMAGE_NV      0x3373
   1211 #define EGL_STREAM_IMAGE_ADD_NV           0x3374
   1212 #define EGL_STREAM_IMAGE_REMOVE_NV        0x3375
   1213 #define EGL_STREAM_IMAGE_AVAILABLE_NV     0x3376
   1214 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
   1215 typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
   1216 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
   1217 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
   1218 #ifdef EGL_EGLEXT_PROTOTYPES
   1219 EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list);
   1220 EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux);
   1221 EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync);
   1222 EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync);
   1223 #endif
   1224 #endif /* EGL_NV_stream_consumer_eglimage */
   1225 
   1226 #ifndef EGL_NV_stream_consumer_gltexture_yuv
   1227 #define EGL_NV_stream_consumer_gltexture_yuv 1
   1228 #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV    0x332C
   1229 #define EGL_YUV_PLANE1_TEXTURE_UNIT_NV    0x332D
   1230 #define EGL_YUV_PLANE2_TEXTURE_UNIT_NV    0x332E
   1231 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
   1232 #ifdef EGL_EGLEXT_PROTOTYPES
   1233 EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
   1234 #endif
   1235 #endif /* EGL_NV_stream_consumer_gltexture_yuv */
   1236 
   1237 #ifndef EGL_NV_stream_cross_display
   1238 #define EGL_NV_stream_cross_display 1
   1239 #define EGL_STREAM_CROSS_DISPLAY_NV       0x334E
   1240 #endif /* EGL_NV_stream_cross_display */
   1241 
   1242 #ifndef EGL_NV_stream_cross_object
   1243 #define EGL_NV_stream_cross_object 1
   1244 #define EGL_STREAM_CROSS_OBJECT_NV        0x334D
   1245 #endif /* EGL_NV_stream_cross_object */
   1246 
   1247 #ifndef EGL_NV_stream_cross_partition
   1248 #define EGL_NV_stream_cross_partition 1
   1249 #define EGL_STREAM_CROSS_PARTITION_NV     0x323F
   1250 #endif /* EGL_NV_stream_cross_partition */
   1251 
   1252 #ifndef EGL_NV_stream_cross_process
   1253 #define EGL_NV_stream_cross_process 1
   1254 #define EGL_STREAM_CROSS_PROCESS_NV       0x3245
   1255 #endif /* EGL_NV_stream_cross_process */
   1256 
   1257 #ifndef EGL_NV_stream_cross_system
   1258 #define EGL_NV_stream_cross_system 1
   1259 #define EGL_STREAM_CROSS_SYSTEM_NV        0x334F
   1260 #endif /* EGL_NV_stream_cross_system */
   1261 
   1262 #ifndef EGL_NV_stream_dma
   1263 #define EGL_NV_stream_dma 1
   1264 #define EGL_STREAM_DMA_NV                 0x3371
   1265 #define EGL_STREAM_DMA_SERVER_NV          0x3372
   1266 #endif /* EGL_NV_stream_dma */
   1267 
   1268 #ifndef EGL_NV_stream_fifo_next
   1269 #define EGL_NV_stream_fifo_next 1
   1270 #define EGL_PENDING_FRAME_NV              0x3329
   1271 #define EGL_STREAM_TIME_PENDING_NV        0x332A
   1272 #endif /* EGL_NV_stream_fifo_next */
   1273 
   1274 #ifndef EGL_NV_stream_fifo_synchronous
   1275 #define EGL_NV_stream_fifo_synchronous 1
   1276 #define EGL_STREAM_FIFO_SYNCHRONOUS_NV    0x3336
   1277 #endif /* EGL_NV_stream_fifo_synchronous */
   1278 
   1279 #ifndef EGL_NV_stream_flush
   1280 #define EGL_NV_stream_flush 1
   1281 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
   1282 #ifdef EGL_EGLEXT_PROTOTYPES
   1283 EGLAPI EGLBoolean EGLAPIENTRY eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream);
   1284 #endif
   1285 #endif /* EGL_NV_stream_flush */
   1286 
   1287 #ifndef EGL_NV_stream_frame_limits
   1288 #define EGL_NV_stream_frame_limits 1
   1289 #define EGL_PRODUCER_MAX_FRAME_HINT_NV    0x3337
   1290 #define EGL_CONSUMER_MAX_FRAME_HINT_NV    0x3338
   1291 #endif /* EGL_NV_stream_frame_limits */
   1292 
   1293 #ifndef EGL_NV_stream_metadata
   1294 #define EGL_NV_stream_metadata 1
   1295 #define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250
   1296 #define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251
   1297 #define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252
   1298 #define EGL_PRODUCER_METADATA_NV          0x3253
   1299 #define EGL_CONSUMER_METADATA_NV          0x3254
   1300 #define EGL_PENDING_METADATA_NV           0x3328
   1301 #define EGL_METADATA0_SIZE_NV             0x3255
   1302 #define EGL_METADATA1_SIZE_NV             0x3256
   1303 #define EGL_METADATA2_SIZE_NV             0x3257
   1304 #define EGL_METADATA3_SIZE_NV             0x3258
   1305 #define EGL_METADATA0_TYPE_NV             0x3259
   1306 #define EGL_METADATA1_TYPE_NV             0x325A
   1307 #define EGL_METADATA2_TYPE_NV             0x325B
   1308 #define EGL_METADATA3_TYPE_NV             0x325C
   1309 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
   1310 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
   1311 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
   1312 #ifdef EGL_EGLEXT_PROTOTYPES
   1313 EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
   1314 EGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
   1315 EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
   1316 #endif
   1317 #endif /* EGL_NV_stream_metadata */
   1318 
   1319 #ifndef EGL_NV_stream_origin
   1320 #define EGL_NV_stream_origin 1
   1321 #define EGL_STREAM_FRAME_ORIGIN_X_NV      0x3366
   1322 #define EGL_STREAM_FRAME_ORIGIN_Y_NV      0x3367
   1323 #define EGL_STREAM_FRAME_MAJOR_AXIS_NV    0x3368
   1324 #define EGL_CONSUMER_AUTO_ORIENTATION_NV  0x3369
   1325 #define EGL_PRODUCER_AUTO_ORIENTATION_NV  0x336A
   1326 #define EGL_LEFT_NV                       0x336B
   1327 #define EGL_RIGHT_NV                      0x336C
   1328 #define EGL_TOP_NV                        0x336D
   1329 #define EGL_BOTTOM_NV                     0x336E
   1330 #define EGL_X_AXIS_NV                     0x336F
   1331 #define EGL_Y_AXIS_NV                     0x3370
   1332 #endif /* EGL_NV_stream_origin */
   1333 
   1334 #ifndef EGL_NV_stream_remote
   1335 #define EGL_NV_stream_remote 1
   1336 #define EGL_STREAM_STATE_INITIALIZING_NV  0x3240
   1337 #define EGL_STREAM_TYPE_NV                0x3241
   1338 #define EGL_STREAM_PROTOCOL_NV            0x3242
   1339 #define EGL_STREAM_ENDPOINT_NV            0x3243
   1340 #define EGL_STREAM_LOCAL_NV               0x3244
   1341 #define EGL_STREAM_PRODUCER_NV            0x3247
   1342 #define EGL_STREAM_CONSUMER_NV            0x3248
   1343 #define EGL_STREAM_PROTOCOL_FD_NV         0x3246
   1344 #endif /* EGL_NV_stream_remote */
   1345 
   1346 #ifndef EGL_NV_stream_reset
   1347 #define EGL_NV_stream_reset 1
   1348 #define EGL_SUPPORT_RESET_NV              0x3334
   1349 #define EGL_SUPPORT_REUSE_NV              0x3335
   1350 typedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
   1351 #ifdef EGL_EGLEXT_PROTOTYPES
   1352 EGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream);
   1353 #endif
   1354 #endif /* EGL_NV_stream_reset */
   1355 
   1356 #ifndef EGL_NV_stream_socket
   1357 #define EGL_NV_stream_socket 1
   1358 #define EGL_STREAM_PROTOCOL_SOCKET_NV     0x324B
   1359 #define EGL_SOCKET_HANDLE_NV              0x324C
   1360 #define EGL_SOCKET_TYPE_NV                0x324D
   1361 #endif /* EGL_NV_stream_socket */
   1362 
   1363 #ifndef EGL_NV_stream_socket_inet
   1364 #define EGL_NV_stream_socket_inet 1
   1365 #define EGL_SOCKET_TYPE_INET_NV           0x324F
   1366 #endif /* EGL_NV_stream_socket_inet */
   1367 
   1368 #ifndef EGL_NV_stream_socket_unix
   1369 #define EGL_NV_stream_socket_unix 1
   1370 #define EGL_SOCKET_TYPE_UNIX_NV           0x324E
   1371 #endif /* EGL_NV_stream_socket_unix */
   1372 
   1373 #ifndef EGL_NV_stream_sync
   1374 #define EGL_NV_stream_sync 1
   1375 #define EGL_SYNC_NEW_FRAME_NV             0x321F
   1376 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
   1377 #ifdef EGL_EGLEXT_PROTOTYPES
   1378 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
   1379 #endif
   1380 #endif /* EGL_NV_stream_sync */
   1381 
   1382 #ifndef EGL_NV_sync
   1383 #define EGL_NV_sync 1
   1384 typedef void *EGLSyncNV;
   1385 typedef khronos_utime_nanoseconds_t EGLTimeNV;
   1386 #ifdef KHRONOS_SUPPORT_INT64
   1387 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
   1388 #define EGL_SYNC_STATUS_NV                0x30E7
   1389 #define EGL_SIGNALED_NV                   0x30E8
   1390 #define EGL_UNSIGNALED_NV                 0x30E9
   1391 #define EGL_SYNC_FLUSH_COMMANDS_BIT_NV    0x0001
   1392 #define EGL_FOREVER_NV                    0xFFFFFFFFFFFFFFFFull
   1393 #define EGL_ALREADY_SIGNALED_NV           0x30EA
   1394 #define EGL_TIMEOUT_EXPIRED_NV            0x30EB
   1395 #define EGL_CONDITION_SATISFIED_NV        0x30EC
   1396 #define EGL_SYNC_TYPE_NV                  0x30ED
   1397 #define EGL_SYNC_CONDITION_NV             0x30EE
   1398 #define EGL_SYNC_FENCE_NV                 0x30EF
   1399 #define EGL_NO_SYNC_NV                    EGL_CAST(EGLSyncNV,0)
   1400 typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
   1401 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
   1402 typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
   1403 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
   1404 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
   1405 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
   1406 #ifdef EGL_EGLEXT_PROTOTYPES
   1407 EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
   1408 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
   1409 EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
   1410 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
   1411 EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
   1412 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
   1413 #endif
   1414 #endif /* KHRONOS_SUPPORT_INT64 */
   1415 #endif /* EGL_NV_sync */
   1416 
   1417 #ifndef EGL_NV_system_time
   1418 #define EGL_NV_system_time 1
   1419 typedef khronos_utime_nanoseconds_t EGLuint64NV;
   1420 #ifdef KHRONOS_SUPPORT_INT64
   1421 typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
   1422 typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
   1423 #ifdef EGL_EGLEXT_PROTOTYPES
   1424 EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
   1425 EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
   1426 #endif
   1427 #endif /* KHRONOS_SUPPORT_INT64 */
   1428 #endif /* EGL_NV_system_time */
   1429 
   1430 #ifndef EGL_NV_triple_buffer
   1431 #define EGL_NV_triple_buffer 1
   1432 #define EGL_TRIPLE_BUFFER_NV              0x3230
   1433 #endif /* EGL_NV_triple_buffer */
   1434 
   1435 #ifndef EGL_TIZEN_image_native_buffer
   1436 #define EGL_TIZEN_image_native_buffer 1
   1437 #define EGL_NATIVE_BUFFER_TIZEN           0x32A0
   1438 #endif /* EGL_TIZEN_image_native_buffer */
   1439 
   1440 #ifndef EGL_TIZEN_image_native_surface
   1441 #define EGL_TIZEN_image_native_surface 1
   1442 #define EGL_NATIVE_SURFACE_TIZEN          0x32A1
   1443 #endif /* EGL_TIZEN_image_native_surface */
   1444 
   1445 #ifndef EGL_WL_bind_wayland_display
   1446 #define EGL_WL_bind_wayland_display 1
   1447 #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC
   1448 #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC
   1449 #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC
   1450 struct wl_display;
   1451 struct wl_resource;
   1452 #define EGL_WAYLAND_BUFFER_WL             0x31D5
   1453 #define EGL_WAYLAND_PLANE_WL              0x31D6
   1454 #define EGL_TEXTURE_Y_U_V_WL              0x31D7
   1455 #define EGL_TEXTURE_Y_UV_WL               0x31D8
   1456 #define EGL_TEXTURE_Y_XUXV_WL             0x31D9
   1457 #define EGL_TEXTURE_EXTERNAL_WL           0x31DA
   1458 #define EGL_WAYLAND_Y_INVERTED_WL         0x31DB
   1459 typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
   1460 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWLPROC) (EGLDisplay dpy, struct wl_display *display);
   1461 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWLPROC) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
   1462 #ifdef EGL_EGLEXT_PROTOTYPES
   1463 EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
   1464 EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL (EGLDisplay dpy, struct wl_display *display);
   1465 EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
   1466 #endif
   1467 #endif /* EGL_WL_bind_wayland_display */
   1468 
   1469 #ifndef EGL_WL_create_wayland_buffer_from_image
   1470 #define EGL_WL_create_wayland_buffer_from_image 1
   1471 #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC
   1472 struct wl_buffer;
   1473 typedef struct wl_buffer *(EGLAPIENTRYP PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC) (EGLDisplay dpy, EGLImageKHR image);
   1474 #ifdef EGL_EGLEXT_PROTOTYPES
   1475 EGLAPI struct wl_buffer *EGLAPIENTRY eglCreateWaylandBufferFromImageWL (EGLDisplay dpy, EGLImageKHR image);
   1476 #endif
   1477 #endif /* EGL_WL_create_wayland_buffer_from_image */
   1478 
   1479 /* ANGLE EGL extensions */
   1480 #include "eglext_angle.h"
   1481 
   1482 #ifdef __cplusplus
   1483 }
   1484 #endif
   1485 
   1486 #endif