blob: bfdab09a7204d04a3250a363504db2289366f83f [file] [log] [blame]
Name
ANGLE_timestamp_surface_attribute
Name Strings
EGL_ANGLE_timestamp_surface_attribute
Contributors
Mohan Maiya
Ian Elliot
Contacts
Mohan Maiya, Samsung (m.maiya 'at' samsung 'dot' com)
Notice
Copyright (c) 2022 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
Status
Draft.
Version
Version 1, July 12, 2022
Number
EGL Extension ###
Dependencies
Requires support for EGL_ANDROID_get_frame_timestamps extension.
Refer to EGL_ANDROID_get_frame_timestamps specification for other
dependencies.
Overview
On Android most of the functionality required by EGL_ANDROID_get_frame_timestamps
is handled by a wrapper outside of the EGL driver. However it is necessary
to be aware of EGL_TIMESTAMPS_ANDROID state on some drivers
(like ANGLE, which layers GLES APIs over Vulkan, which needs this information
to setup Vulkan swapchains appropriately).
This extension allows ANGLE's EGL implementation to rely on the Android EGL
loader to support and implement the EGL_ANDROID_get_frame_timestamps extension,
with the exception that ANGLE's EGL implementation will support caching
EGL_TIMESTAMPS_ANDROID state.
For details about EGL_TIMESTAMPS_ANDROID and other timestamp related terminology
please refer to the EGL_ANDROID_get_frame_timestamps specification.
New Types
None.
New Procedures and Functions
None.
New Tokens
None.
For clarity, restating the section of EGL_ANDROID_get_frame_timestamps specification
that will be supported by this extension:
Add to the list of supported tokens for eglSurfaceAttrib in section 3.5.6
"Surface Attributes", page 43:
If attribute is EGL_TIMESTAMPS_ANDROID, then values specifies whether to
enable/disable timestamp collection for this surface. A value of EGL_TRUE
enables timestamp collection, while a value of EGL_FALSE disables it. The
initial value is false. If surface is not a window surface this has no
effect.
Issues
None.
Revision History
#2 - (August 23, 2022) Mohan Maiya
Added language to clarify that the extension will require support,
from an external module, of the EGL_ANDROID_get_frame_timestamps
extension for the most part with the exception of providing support
for caching EGL_TIMESTAMPS_ANDROID state.
#1 - (July 12, 2022) Mohan Maiya
Original draft