| Index: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt
|
| diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt
|
| index 965cb44b0c066306163f84404232be632a42f644..9f1863cc0052467d5ac845a07ef50048bbfad68e 100644
|
| --- a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt
|
| +++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt
|
| @@ -8,7 +8,7 @@ Name Strings
|
|
|
| Version
|
|
|
| - Last Modifed Date: February 25, 2013
|
| + Last Modifed Date: September 8, 2015
|
|
|
| Dependencies
|
|
|
| @@ -18,6 +18,13 @@ Overview
|
|
|
| This extension allows a client to order operations between contexts.
|
|
|
| + This extension introduces the concept of "fence syncs" and "sync token".
|
| + Inserted fence syncs represents a position in the command stream of a
|
| + context. Sync tokens are generated from fence syncs and allows another
|
| + context to issue a "wait" command on the sync token. This wait command
|
| + will then guarantee that commands before the inserted fence sync are
|
| + submitted before commands after the sync token wait.
|
| +
|
| This extension implements a small subset of ARB_sync, with weaker
|
| guarantees. In particular it doesn't ensure commands are actually executed
|
| by the server, it only guarantees submission order.
|
| @@ -30,39 +37,57 @@ Issues
|
|
|
| None
|
|
|
| -New Tokens
|
| +New Procedures and Functions
|
|
|
| - None
|
| + The command
|
|
|
| -New Procedures and Functions
|
| + uint InsertFenceSyncCHROMIUM()
|
| +
|
| + inserts a fence sync in the current command stream. The fence sync is
|
| + signaled when previous commands have been submitted to the server, or when
|
| + the context is destroyed, whichever happens first. The fence sync name is
|
| + only visible for the current context. The returned fence sync name cannot
|
| + be waited upon directly, but once the command is flushed to the server it
|
| + can be converted to a sync token using GenSyncTokenCHROMIUM which is
|
| + waitable.
|
|
|
| The command
|
|
|
| - uint InsertSyncPointCHROMIUM()
|
| + void GenSyncTokenCHROMIUM(uint fence_sync, GLbyte *sync_token)
|
|
|
| - flushes the stream of commands for the current context and creates and
|
| - inserts a sync point. The sync point acts as a fence, which is signaled when
|
| - previous commands have been submitted to the server, or when the context is
|
| - destroyed, whichever happens first. The sync point name is returned. The
|
| - sync point is implicitly deleted when it becomes signaled. The sync point
|
| - namespace is shared between all contexts on the same server, including other
|
| - context groups.
|
| + converts <fence_sync> which is only visible to the current context to a
|
| + sync token which may be waited upon by any contexts on the same server.
|
| + The <fence_sync> command must be flushed before this function may be
|
| + called, otherwise an INVALID_OPERATION error is generated. The generated
|
| + <sync_token> must be generated on the same context as when
|
| + InsertSyncPointCHROMIUM was called. The <sync_token> can be passed and
|
| + used by any context on the same server, including other context groups.
|
|
|
| + <sync_token> returns a GL_SYNC_POINT_SIZE_CHROMIUM byte sized name.
|
|
|
| The command
|
|
|
| - void WaitSyncPointCHROMIUM(uint sync_point)
|
| + void WaitSyncTokenCHROMIUM(GLbyte *sync_token)
|
|
|
| causes the current context to stop submitting commands until the specified
|
| - sync point becomes signaled. This is implemented as a server-side wait.
|
| - <sync_point> is the name of the sync point to wait for. If <sync_point>
|
| - isn't a valid sync point returned by InsertSyncPointCHROMIUM, or if the sync
|
| - point has already been deleted, the command is equivalent to a no-op and no
|
| - error is generated.
|
| + fence sync becomes signaled. This is implemented as a server-side wait.
|
| + <sync_token> is a sync token generated by GenSyncPointCHROMIUM. If
|
| + <sync_token> isn't a valid sync token returned by GenSyncPointCHROMIUM, the
|
| + command is equivalent to a no-op and no error is generated.
|
| +
|
| +New Tokens
|
| +
|
| + The size of a sync token name in bytes.
|
| +
|
| + GL_SYNC_TOKEN_SIZE_CHROMIUM 12
|
|
|
| Errors
|
|
|
| - None.
|
| + INVALID_VALUE is generated if the <fence_sync> parameter of
|
| + GenSyncPointCHROMIUM is not a valid local fence sync name.
|
| +
|
| + INVALID_OPERATION is generated if the <fence_sync> parameter of
|
| + GenSyncPointCHROMIUM has not been flushed to the server.
|
|
|
| New State
|
|
|
| @@ -71,3 +96,6 @@ New State
|
| Revision History
|
|
|
| 2/25/2013 Documented the extension
|
| +
|
| + 9/8/2015 Modified functions to InsertFenceSyncCHROMIUM,
|
| + GenSyncTokenCHROMIUM, and WaitSyncTokenCHROMIUM.
|
|
|