<type name="khrplatform">#include <KHR/khrplatform.h></type>
<type name="eglplatform" requires="khrplatform">#include <EGL/eglplatform.h></type>
<type name="khronos_utime_nanoseconds_t" requires="khrplatform"/>
+ <type name="khronos_stime_nanoseconds_t" requires="khrplatform"/>
<type name="khronos_uint64_t" requires="khrplatform"/>
<type name="khronos_ssize_t" requires="khrplatform"/>
<type name="EGLNativeDisplayType" requires="eglplatform"/>
<type name="NativeDisplayType" requires="eglplatform"/>
<type name="NativePixmapType" requires="eglplatform"/>
<type name="NativeWindowType" requires="eglplatform"/>
+ <type>struct <name>AHardwareBuffer</name>;</type>
<!-- Dummy placeholders for non-EGL types -->
<type name="Bool"/>
<!-- These are actual EGL types. -->
<enums namespace="EGLDRMBufferUseMESAMask" type="bitmask" comment="EGL_DRM_BUFFER_USE_MESA bits">
<enum value="0x00000001" name="EGL_DRM_BUFFER_USE_SCANOUT_MESA"/>
<enum value="0x00000002" name="EGL_DRM_BUFFER_USE_SHARE_MESA"/>
+ <enum value="0x00000004" name="EGL_DRM_BUFFER_USE_CURSOR_MESA"/>
</enums>
<!-- Should be shared with GL, but aren't aren't since the
<enum value="0x3146" name="EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID"/>
<enum value="0x3147" name="EGL_FRAMEBUFFER_TARGET_ANDROID"/>
<unused start="0x3148" end="0x314B"/>
- <enum value="0x314C" name="EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID"/>
- <unused start="0x314D" end="0x314F"/>
+ <enum value="0x314C" name="EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID"/>
+ <enum value="0x314D" name="EGL_GL_COLORSPACE_DEFAULT_EXT"/>
+ <unused start="0x314E" end="0x314F"/>
</enums>
<enums namespace="EGL" start="0x3150" end="0x315F" vendor="NOK" comment="Reserved for Robert Palmer (Khronos bug 5368)">
<enum value="0x3339" name="EGL_COLOR_COMPONENT_TYPE_EXT"/>
<enum value="0x333A" name="EGL_COLOR_COMPONENT_TYPE_FIXED_EXT"/>
<enum value="0x333B" name="EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT"/>
- <unused start="0x333C" end="0x333E"/>
+ <enum value="0x333C" name="EGL_DRM_MASTER_FD_EXT"/>
+ <unused start="0x333D" end="0x333E"/>
<enum value="0x333F" name="EGL_GL_COLORSPACE_BT2020_LINEAR_EXT"/>
<enum value="0x3340" name="EGL_GL_COLORSPACE_BT2020_PQ_EXT"/>
<enum value="0x3341" name="EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT"/>
<enum value="0x3350" name="EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT"/>
<enum value="0x3351" name="EGL_GL_COLORSPACE_SCRGB_EXT"/>
<enum value="0x3352" name="EGL_TRACK_REFERENCES_KHR"/>
- <unused start="0x3353" end="0x335F"/>
+ <unused start="0x3353" end="0x3356"/>
+ <enum value="0x3357" name="EGL_CONTEXT_PRIORITY_REALTIME_NV"/>
+ <unused start="0x3358" end="0x335F"/>
<enum value="0x3360" name="EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT"/>
<enum value="0x3361" name="EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT"/>
<enum value="0x3362" name="EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT"/>
<enum value="0x3363" name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
- <unused start="0x3364" end="0x339F"/>
+ <enum value="0x3364" name="EGL_SYNC_CLIENT_EXT"/>
+ <enum value="0x3365" name="EGL_SYNC_CLIENT_SIGNAL_EXT"/>
+ <unused start="0x3366" end="0x339F"/>
</enums>
<enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE" comment="Reserved for Shannon Woods (Bug 13175)">
</enums>
<enums namespace="EGL" start="0x3430" end="0x343F" vendor="ANDROID" comment="Reserved for Pablo Ceballos (Bug 15874)">
- <unused start="0x3430" end="0x343F"/>
+ <enum value="EGL_CAST(EGLnsecsANDROID,-2)" name="EGL_TIMESTAMP_PENDING_ANDROID"/>
+ <enum value="EGL_CAST(EGLnsecsANDROID,-1)" name="EGL_TIMESTAMP_INVALID_ANDROID"/>
+ <enum value="0x3430" name="EGL_TIMESTAMPS_ANDROID"/>
+ <enum value="0x3431" name="EGL_COMPOSITE_DEADLINE_ANDROID"/>
+ <enum value="0x3432" name="EGL_COMPOSITE_INTERVAL_ANDROID"/>
+ <enum value="0x3433" name="EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID"/>
+ <enum value="0x3434" name="EGL_REQUESTED_PRESENT_TIME_ANDROID"/>
+ <enum value="0x3435" name="EGL_RENDERING_COMPLETE_TIME_ANDROID"/>
+ <enum value="0x3436" name="EGL_COMPOSITION_LATCH_TIME_ANDROID"/>
+ <enum value="0x3437" name="EGL_FIRST_COMPOSITION_START_TIME_ANDROID"/>
+ <enum value="0x3438" name="EGL_LAST_COMPOSITION_START_TIME_ANDROID"/>
+ <enum value="0x3439" name="EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID"/>
+ <enum value="0x343A" name="EGL_DISPLAY_PRESENT_TIME_ANDROID"/>
+ <enum value="0x343B" name="EGL_DEQUEUE_READY_TIME_ANDROID"/>
+ <enum value="0x343C" name="EGL_READS_DONE_TIME_ANDROID"/>
+ <unused start="0x343D" end="0x343F"/>
</enums>
<enums namespace="EGL" start="0x3440" end="0x344F" vendor="ANDROID" comment="Reserved for Kristian Kristensen (Bug 16033)">
</enums>
<enums namespace="EGL" start="0x3470" end="0x347F" vendor="EXT" comment="Reserved for Daniel Stone (PR 14)">
- <enum value="0x3470" name="EGL_IMPORT_SYNC_TYPE_EXT"/>
- <enum value="0x3471" name="EGL_IMPORT_IMPLICIT_SYNC_EXT"/>
- <enum value="0x3472" name="EGL_IMPORT_EXPLICIT_SYNC_EXT"/>
+ <enum value="0x3470" name="EGL_IMPORT_SYNC_TYPE_EXT"/>
+ <enum value="0x3471" name="EGL_IMPORT_IMPLICIT_SYNC_EXT"/>
+ <enum value="0x3472" name="EGL_IMPORT_EXPLICIT_SYNC_EXT"/>
+ </enums>
+ <enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE" comment="Reserved for Courtney Goeltzenleuchter - ANGLE (gitlab EGL bug 7)">
+ <unused start="0x3480" end="0x348F"/>
+ </enums>
+ <enums namespace="EGL" start="0x3490" end="0x349F" vendor="EXT" comment="Reserved for Courtney Goeltzenleuchter - Android (gitlab EGL bug 69)">
+ <enum value="0x3490" name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
+ <unused start="0x3491" end="0x349F"/>
</enums>
<!-- Please remember that new enumerant allocations must be obtained by
<!-- Reservable for future use. To generate a new range, allocate multiples
of 16 starting at the lowest available point in this block. -->
- <enums namespace="EGL" start="0x3480" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
- <unused start="0x3480" end="0x3FFF"/>
+ <enums namespace="EGL" start="0x34A0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
+ <unused start="0x34A0" end="0x3FFF"/>
</enums>
<enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">
<param><ptype>EGLint</ptype> <name>config_size</name></param>
<param><ptype>EGLint</ptype> *<name>num_config</name></param>
</command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglClientSignalSyncEXT</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSync</ptype> <name>sync</name></param>
+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
+ </command>
<command>
<proto><ptype>EGLint</ptype> <name>eglClientWaitSync</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<proto><ptype>EGLDisplay</ptype> <name>eglGetDisplay</name></proto>
<param><ptype>EGLNativeDisplayType</ptype> <name>display_id</name></param>
</command>
+ <command>
+ <proto>char *<name>eglGetDisplayDriverConfig</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ </command>
+ <command>
+ <proto>const char *<name>eglGetDisplayDriverName</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ </command>
<command>
<proto><ptype>EGLint</ptype> <name>eglGetError</name></proto>
</command>
+ <command>
+ <proto><ptype>EGLClientBuffer</ptype> <name>eglGetNativeClientBufferANDROID</name></proto>
+ <param>const struct <ptype>AHardwareBuffer</ptype> *<name>buffer</name></param>
+ </command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglGetOutputLayersEXT</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
<param><ptype>EGLnsecsANDROID</ptype> <name>time</name></param>
</command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglGetCompositorTimingSupportedANDROID</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSurface</ptype> <name>surface</name></param>
+ <param><ptype>EGLint</ptype> <name>name</name></param>
+ </command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglGetCompositorTimingANDROID</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSurface</ptype> <name>surface</name></param>
+ <param><ptype>EGLint</ptype> <name>numTimestamps</name></param>
+ <param> const <ptype>EGLint</ptype> *<name>names</name></param>
+ <param><ptype>EGLnsecsANDROID</ptype> *<name>values</name></param>
+ </command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglGetNextFrameIdANDROID</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSurface</ptype> <name>surface</name></param>
+ <param><ptype>EGLuint64KHR</ptype> *<name>frameId</name></param>
+ </command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglGetFrameTimestampSupportedANDROID</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSurface</ptype> <name>surface</name></param>
+ <param><ptype>EGLint</ptype> <name>timestamp</name></param>
+ </command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglGetFrameTimestampsANDROID</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSurface</ptype> <name>surface</name></param>
+ <param><ptype>EGLuint64KHR</ptype> <name>frameId</name></param>
+ <param><ptype>EGLint</ptype> <name>numTimestamps</name></param>
+ <param> const <ptype>EGLint</ptype> *<name>timestamps</name></param>
+ <param><ptype>EGLnsecsANDROID</ptype> *<name>values</name></param>
+ </command>
<command>
<proto><ptype>EGLenum</ptype> <name>eglQueryAPI</name></proto>
</command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerGLTextureExternalAttribsNV</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
- <param><ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerOutputEXT</name></proto>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglStreamFlushNV</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
+ </command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglSurfaceAttrib</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
</command>
+ <command>
+ <proto><ptype>EGLBoolean</ptype> <name>eglUnsignalSyncEXT</name></proto>
+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
+ <param><ptype>EGLSync</ptype> <name>sync</name></param>
+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
+ </command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglWaitClient</name></proto>
</command>
<enum name="EGL_FRAMEBUFFER_TARGET_ANDROID"/>
</require>
</extension>
+ <extension name="EGL_ANDROID_get_native_client_buffer" supported="egl">
+ <require>
+ <command name="eglGetNativeClientBufferANDROID"/>
+ </require>
+ </extension>
<extension name="EGL_ANDROID_front_buffer_auto_refresh" supported="egl">
<require>
<enum name="EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID"/>
<command name="eglPresentationTimeANDROID"/>
</require>
</extension>
+ <extension name="EGL_ANDROID_get_frame_timestamps" supported="egl">
+ <require>
+ <enum name="EGL_TIMESTAMP_PENDING_ANDROID"/>
+ <enum name="EGL_TIMESTAMP_INVALID_ANDROID"/>
+ <enum name="EGL_TIMESTAMPS_ANDROID"/>
+ <enum name="EGL_COMPOSITE_DEADLINE_ANDROID"/>
+ <enum name="EGL_COMPOSITE_INTERVAL_ANDROID"/>
+ <enum name="EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID"/>
+ <enum name="EGL_REQUESTED_PRESENT_TIME_ANDROID"/>
+ <enum name="EGL_RENDERING_COMPLETE_TIME_ANDROID"/>
+ <enum name="EGL_COMPOSITION_LATCH_TIME_ANDROID"/>
+ <enum name="EGL_FIRST_COMPOSITION_START_TIME_ANDROID"/>
+ <enum name="EGL_LAST_COMPOSITION_START_TIME_ANDROID"/>
+ <enum name="EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID"/>
+ <enum name="EGL_DISPLAY_PRESENT_TIME_ANDROID"/>
+ <enum name="EGL_DEQUEUE_READY_TIME_ANDROID"/>
+ <enum name="EGL_READS_DONE_TIME_ANDROID"/>
+ <command name="eglGetCompositorTimingSupportedANDROID"/>
+ <command name="eglGetCompositorTimingANDROID"/>
+ <command name="eglGetNextFrameIdANDROID"/>
+ <command name="eglGetFrameTimestampSupportedANDROID"/>
+ <command name="eglGetFrameTimestampsANDROID"/>
+ </require>
+ </extension>
<extension name="EGL_ANDROID_recordable" supported="egl">
<require>
<enum name="EGL_RECORDABLE_ANDROID"/>
</require>
</extension>
<extension name="EGL_EXT_client_extensions" supported="egl"/>
+ <extension name="EGL_EXT_client_sync" supported="egl">
+ <require>
+ <enum name="EGL_SYNC_CLIENT_EXT"/>
+ <enum name="EGL_SYNC_CLIENT_SIGNAL_EXT"/>
+ <command name="eglClientSignalSyncEXT"/>
+ </require>
+ </extension>
<extension name="EGL_EXT_create_context_robustness" supported="egl">
<require>
<enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT"/>
<extension name="EGL_EXT_device_drm" supported="egl">
<require>
<enum name="EGL_DRM_DEVICE_FILE_EXT"/>
+ <enum name="EGL_DRM_MASTER_FD_EXT"/>
</require>
</extension>
<extension name="EGL_EXT_device_enumeration" supported="egl">
<enum name="EGL_GL_COLORSPACE_DISPLAY_P3_EXT"/>
</require>
</extension>
+ <extension name="EGL_EXT_gl_colorspace_display_p3_passthrough" supported="egl">
+ <require>
+ <enum name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
+ </require>
+ </extension>
<extension name="EGL_EXT_image_dma_buf_import" supported="egl">
<require>
<enum name="EGL_LINUX_DMA_BUF_EXT"/>
<command name="eglQueryDmaBufModifiersEXT"/>
</require>
</extension>
+ <extension name="EGL_EXT_image_gl_colorspace" supported="egl">
+ <require>
+ <enum name="EGL_GL_COLORSPACE"/>
+ <enum name="EGL_GL_COLORSPACE_DEFAULT_EXT"/>
+ </require>
+ </extension>
<extension name="EGL_EXT_multiview_window" supported="egl">
<require>
<enum name="EGL_MULTIVIEW_VIEW_COUNT_EXT"/>
<command name="eglSwapBuffersWithDamageEXT"/>
</require>
</extension>
+ <extension name="EGL_EXT_sync_reuse" supported="egl">
+ <require>
+ <command name="eglUnsignalSyncEXT"/>
+ </require>
+ </extension>
<extension name="EGL_EXT_yuv_surface" supported="egl">
<require>
<enum name="EGL_YUV_ORDER_EXT"/>
<enum name="EGL_DRM_BUFFER_STRIDE_MESA"/>
<enum name="EGL_DRM_BUFFER_USE_SCANOUT_MESA"/>
<enum name="EGL_DRM_BUFFER_USE_SHARE_MESA"/>
+ <enum name="EGL_DRM_BUFFER_USE_CURSOR_MESA"/>
<command name="eglCreateDRMImageMESA"/>
<command name="eglExportDRMImageMESA"/>
</require>
<enum name="EGL_PLATFORM_SURFACELESS_MESA"/>
</require>
</extension>
+ <extension name="EGL_MESA_query_driver" supported="egl">
+ <require>
+ <command name="eglGetDisplayDriverConfig"/>
+ <command name="eglGetDisplayDriverName"/>
+ </require>
+ </extension>
<extension name="EGL_NOK_swap_region" supported="egl">
<require>
<command name="eglSwapBuffersRegionNOK"/>
<enum name="EGL_COVERAGE_SAMPLES_NV"/>
</require>
</extension>
+ <extension name="EGL_NV_context_priority_realtime" supported="egl">
+ <require>
+ <enum name="EGL_CONTEXT_PRIORITY_REALTIME_NV"/>
+ </require>
+ </extension>
<extension name="EGL_NV_coverage_sample_resolve" supported="egl">
<require>
<enum name="EGL_COVERAGE_SAMPLE_RESOLVE_NV"/>
<enum name="EGL_STREAM_FIFO_SYNCHRONOUS_NV"/>
</require>
</extension>
+ <extension name="EGL_NV_stream_flush" supported="egl">
+ <require>
+ <command name="eglStreamFlushNV"/>
+ </require>
+ </extension>
<extension name="EGL_NV_stream_frame_limits" supported="egl">
<require>
<enum name="EGL_PRODUCER_MAX_FRAME_HINT_NV"/>
</require>
</extension>
<extension name="EGL_EXT_image_implicit_sync_control" supported="egl">
- <require>
- <enum name="EGL_IMPORT_SYNC_TYPE_EXT"/>
- <enum name="EGL_IMPORT_IMPLICIT_SYNC_EXT"/>
- <enum name="EGL_IMPORT_EXPLICIT_SYNC_EXT"/>
- </require>
- </extension>
+ <require>
+ <enum name="EGL_IMPORT_SYNC_TYPE_EXT"/>
+ <enum name="EGL_IMPORT_IMPLICIT_SYNC_EXT"/>
+ <enum name="EGL_IMPORT_EXPLICIT_SYNC_EXT"/>
+ </require>
+ </extension>
<extension name="EGL_EXT_bind_to_front" supported="egl">
<require>
<enum name="EGL_FRONT_BUFFER_EXT"/>