blob: a339b81b17f4f2f2fd6ffde3834412fb5c53c618 [file] [log] [blame]
Name
ANGLE_global_fence_sync
Name Strings
EGL_ANGLE_global_fence_sync
Contributors
Shahbaz Youssefi, Google
Contacts
Shahbaz Youssefi, Google (syoussefi 'at' google.com)
Status
Draft
Version
Version 1, 2024-02-13
Number
EGL Extensions XXX
Extension Type
EGL display extension
Dependencies
This extension is written against the wording of the EGL 1.5
Specification.
Overview
This extension enables the creation of EGL fence sync objects that
synchronize with all past submissions of all contexts. Normally, if two
contexts make submissions, even on the same thread, the inserted fence sync
only guarantees synchronization with the submissions from the context in
which the fence was inserted. With the new fence sync type introduced by
this extension, the application can synchronize with both contexts in this
example using a single fence.
New Types
None.
New Procedures and Functions
None.
New Tokens
Accepted by the <type> parameter of eglCreateSync, and returned
in <value> when eglGetSyncAttrib is called with <attribute>
EGL_SYNC_TYPE:
EGL_SYNC_GLOBAL_FENCE_ANGLE 0x34DE
Additions to the EGL Specification
Add the following after the second paragraph of Section 3.8.1.1 (Creating
Fence Sync Objects),
"If <type> is EGL_SYNC_GLOBAL_FENCE_ANGLE, behavior is identical to
EGL_SYNC_FENCE except that synchronization is additionally done with all
previously submitted commands by all contexts."
In the Errors of eglCreateSync, replace all instances of "If type is
EGL_SYNC_FENCE" with "If type is EGL_SYNC_FENCE or
EGL_SYNC_GLOBAL_FENCE_ANGLE".
Issues
None.
Revision History
Version 1, 2024-02-13
- Initial draft