"Fossies" - the Fresh Open Source Software Archive

Member "mesa-20.1.8/include/EGL/eglext.h" (16 Sep 2020, 65858 Bytes) of package /linux/misc/mesa-20.1.8.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "eglext.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 20.1.5_vs_20.2.0-rc1.

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