blob: bc2849a5f1ea2f0c337e9608170ff1de1cf383a1 [file] [log] [blame]
Name
CHROMIUM_ordering_barrier
Name Strings
GL_CHROMIUM_ordering_barrier
Version
Last Modifed Date: December 13, 2017
Dependencies
OpenGL ES 2.0 is required.
Overview
This extension allows a client to order operations between contexts that
within the same scheduling group (stream).
This extension introduces the concept of an "ordering barrier", "shallow
flush", and "shallow finish". Ordering barrier generalizes the implicit
flush ordering between contexts in a scheduling group (stream). Shallow
flush is used to submit commands to the server without a server-side flush.
Shallow finish is used to ensure that commands have executed on the server
without a server-side finish.
Issuing an ordering barrier on a context implies that commands on other
contexts in the same scheduling group, which haven't been synchronized,
either by flush, ordering barrier, or sync tokens, must run after commands
on the current context.
Issues
None
New Procedures and Functions
The command
void OrderingBarrierCHROMIUM()
inserts an ordering barrier in the current command stream which forces any
unsynchronized commands in other contexts in the same scheduling group to
run after commands of the current context. Commands are not submitted to the
server unless a shallow flush or flush happens, or as a result of other
synchronization primitives such as sync tokens (see CHROMIUM_sync_point).
The command
void ShallowFlushCHROMIUM()
inserts an ordering barrier and submits commands in the current context to
the server.
The command
void ShallowFinishCHROMIUM()
inserts an ordering barrier, submits commands, and returns after the
commands in the current context have executed.
New Tokens
None
Errors
New State
None.
Revision History
12/13/2017 Documented OrderingBarrierCHROMIUM, ShallowFlushCHROMIUM, and
ShallowFinishCHROMIUM.