Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Side by Side Diff: gpu/GLES2/extensions/CHROMIUM/CHROMIUM_sync_point.txt

Issue 1323263005: Proposing new CHROMIUM_sync_point API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make sync point objects a fixed byte array instead Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Name 1 Name
2 2
3 CHROMIUM_sync_point 3 CHROMIUM_sync_point
4 4
5 Name Strings 5 Name Strings
6 6
7 GL_CHROMIUM_sync_point 7 GL_CHROMIUM_sync_point
8 8
9 Version 9 Version
10 10
11 Last Modifed Date: February 25, 2013 11 Last Modifed Date: September 8, 2015
12 12
13 Dependencies 13 Dependencies
14 14
15 OpenGL ES 2.0 is required. 15 OpenGL ES 2.0 is required.
16 16
17 Overview 17 Overview
18 18
19 This extension allows a client to order operations between contexts. 19 This extension allows a client to order operations between contexts.
20 20
21 This extension implements a small subset of ARB_sync, with weaker 21 This extension implements a small subset of ARB_sync, with weaker
22 guarantees. In particular it doesn't ensure commands are actually executed 22 guarantees. In particular it doesn't ensure commands are actually executed
23 by the server, it only guarantees submission order. 23 by the server, it only guarantees submission order.
24 24
25 It does however guarantee operation order with respect to 25 It does however guarantee operation order with respect to
26 ConsumeTextureCHROMIUM and ProduceTextureCHROMIUM from 26 ConsumeTextureCHROMIUM and ProduceTextureCHROMIUM from
27 CHROMIUM_texture_mailbox, if present. 27 CHROMIUM_texture_mailbox, if present.
28 28
29 Issues 29 Issues
30 30
31 None 31 None
32 32
33 New Tokens
34
35 None
36
37 New Procedures and Functions 33 New Procedures and Functions
38 34
39 The command 35 The command
40 36
41 uint InsertSyncPointCHROMIUM() 37 uint InsertSyncPointCHROMIUM()
42 38
43 flushes the stream of commands for the current context and creates and 39 inserts a sync point insertion point in the current command stream. The
piman 2015/09/08 22:19:47 nit: "inserts a sync point insertion point" doesn'
David Yen 2015/09/08 22:54:14 Maybe just use "fence sync" and "sync object" to m
44 inserts a sync point. The sync point acts as a fence, which is signaled when 40 sync point acts as a fence, which is signaled when previous commands have be en submitted to the server, or when the context is destroyed,
piman 2015/09/08 22:19:47 nit: wrapping at 80 columns
David Yen 2015/09/08 22:54:14 Done.
45 previous commands have been submitted to the server, or when the context is 41 whichever happens first. The sync point name is only visible for the
46 destroyed, whichever happens first. The sync point name is returned. The 42 current context. Before the returned sync point is waited upon, the command
47 sync point is implicitly deleted when it becomes signaled. The sync point 43 must be flushed and converted to a sync point object using
48 namespace is shared between all contexts on the same server, including other 44 GenSyncPointCHROMIUM. The opaque object returned from GenSyncPointCHROMIUM
49 context groups. 45 is shared between all contexts.
50
51 46
52 The command 47 The command
53 48
54 void WaitSyncPointCHROMIUM(uint sync_point) 49 void GenSyncPointCHROMIUM (uint insertion, GLbyte *sync_point)
50
51 converts <insertion> which is only visible to the current context to a
52 sync point opaque object which is global between all contexts on the same
53 server. The <insertion> command must be flushed before this function may be
54 called, otherwise an INVALID_OPERATION error is generated. <sync_point> may
55 be passed to any other context on the same server to be waited upon.
56
57 <sync_point> returns a GL_SYNC_POINT_SIZE_CHROMIUM byte sized name
piman 2015/09/08 22:19:47 nit: .
David Yen 2015/09/08 22:54:14 Done.
58
59 The command
60
61 void WaitSyncPointCHROMIUM (GLbyte *sync_point)
55 62
56 causes the current context to stop submitting commands until the specified 63 causes the current context to stop submitting commands until the specified
57 sync point becomes signaled. This is implemented as a server-side wait. 64 sync point becomes signaled. This is implemented as a server-side wait.
58 <sync_point> is the name of the sync point to wait for. If <sync_point> 65 <sync_point> is the name of the sync point to wait for that was generated
59 isn't a valid sync point returned by InsertSyncPointCHROMIUM, or if the sync 66 by GenSyncPointCHROMIUM. If <sync_point> isn't a valid sync point
60 point has already been deleted, the command is equivalent to a no-op and no 67 returned by GenSyncPointCHROMIUM, the command is equivalent to a no-op
61 error is generated. 68 and no error is generated.
69
70 New Tokens
71
72 The size of a mailbox name in bytes.
73
74 GL_SYNC_POINT_SIZE_CHROMIUM 12
62 75
63 Errors 76 Errors
64 77
65 None. 78 INVALID_VALUE is generated if the <insertion> parameter of
79 GenSyncPointCHROMIUM is not a valid local sync point insertion name.
80
81 INVALID_OPERATION is generated if the <insertion> parameter of
82 GenSyncPointCHROMIUM has not been flushed to the server.
66 83
67 New State 84 New State
68 85
69 None. 86 None.
70 87
71 Revision History 88 Revision History
72 89
73 2/25/2013 Documented the extension 90 2/25/2013 Documented the extension
91
92 9/8/2015 Added CHROMIUMsync, WaitSyncPointCHROMIUM
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698