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..08cf38777fca29d9988570986a9b3bafb893d946 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 |
@@ -34,35 +34,60 @@ New Tokens |
None |
+New Types |
+ |
+ typedef struct __CHROMIUMsync *CHROMIUMsync; |
jbauman
2015/09/08 20:54:13
What exactly is __CHROMIUMsync? Can it be passed v
David Yen
2015/09/08 21:35:29
In order to make the tracking of lifetimes easier,
|
+ |
New Procedures and Functions |
The command |
uint InsertSyncPointCHROMIUM() |
- 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. |
+ inserts a sync point in the current command stream. 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 for the current context is returned. Before the |
+ returned sync point is waited upon, the command must be flushed and |
+ converted to a CHROMIUMsync object using GenSyncPointCHROMIUM. The |
+ CHROMIUMsync object returned from GenSyncPointCHROMIUM is shared between |
+ all contexts. |
+ |
+ The command |
+ |
+ CHROMIUMsync GenSyncPointCHROMIUM(uint sync_point) |
+ converts a sync point name for the current context to a sync point object |
+ which can be waited on and shared between all contexts on the same server. |
+ <sync_point> must be flushed before this function may be called, otherwise |
+ an INVALID_OPERATION error is generated. |
piman
2015/09/08 18:21:01
Can you clarify whether the CHROMIUMsync handle na
David Yen
2015/09/08 19:07:53
Improved documentation on this. It is shared globa
|
The command |
- void WaitSyncPointCHROMIUM(uint sync_point) |
+ void WaitSyncPointCHROMIUM(CHROMIUMsync sync_point) |
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 |
+ isn't a valid sync point returned by GenSyncPointCHROMIUM, or if the sync |
point has already been deleted, the command is equivalent to a no-op and no |
error is generated. |
+ The command |
+ |
+ void DeleteSyncPointCHROMIUM(CHROMIUMsync sync_point) |
+ |
+ deletes the corresponding sync point object and makes it so no context can |
+ wait on <sync_point> anymore. This will not affect any WaitSyncPointCHROMIUM |
+ commands that are already blocking on <sync_point>. |
piman
2015/09/08 18:21:01
I'm not sure what "already blocking on <sync_point
David Yen
2015/09/08 19:07:53
I wanted to communicate that on the client side th
|
+ |
Errors |
- None. |
+ INVALID_VALUE is generated if the <sync_point> parameter of |
+ GenSyncPointCHROMIUM is not a valid local sync point name. |
+ |
+ INVALID_OPERATION is generated if the <sync_point> parameter of |
+ GenSyncPointCHROMIUM has not been flushed. |
New State |
@@ -71,3 +96,6 @@ New State |
Revision History |
2/25/2013 Documented the extension |
+ |
+ 9/8/2015 Added CHROMIUMsync, WaitSyncPointCHROMIUM, |
+ DeleteSyncPointCHROMIUM |