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

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

Issue 1331843005: Implemented new fence syncs which replaces the old sync points. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reverted mojo readme, changed wait() to take a pointer Created 5 years, 2 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 | « gpu/BUILD.gn ('k') | gpu/GLES2/gl2chromium_autogen.h » ('j') | 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
(...skipping 23 matching lines...) Expand all
34 CHROMIUM_texture_mailbox, if present. 34 CHROMIUM_texture_mailbox, if present.
35 35
36 Issues 36 Issues
37 37
38 None 38 None
39 39
40 New Procedures and Functions 40 New Procedures and Functions
41 41
42 The command 42 The command
43 43
44 uint InsertFenceSyncCHROMIUM() 44 uint64 InsertFenceSyncCHROMIUM()
45 45
46 inserts a fence sync in the current command stream. The fence sync is 46 inserts a fence sync in the current command stream. The fence sync is
47 signaled when previous commands have been submitted to the server, or when 47 signaled when previous commands have been submitted to the server, or when
48 the context is destroyed, whichever happens first. The fence sync name is 48 the context is destroyed, whichever happens first. The fence sync name is
49 only visible for the current context. The returned fence sync name cannot 49 only visible for the current context. The returned fence sync name cannot
50 be waited upon directly, but once the command is flushed to the server it 50 be waited upon directly, but once the command is flushed to the server it
51 can be converted to a sync token using GenSyncTokenCHROMIUM which is 51 can be converted to a sync token using GenSyncTokenCHROMIUM which is
52 waitable. 52 waitable.
53 53
54 The command 54 The command
55 55
56 void GenSyncTokenCHROMIUM(uint fence_sync, GLbyte *sync_token) 56 void GenSyncTokenCHROMIUM(uint64 fence_sync, GLbyte *sync_token)
57 57
58 converts <fence_sync> which is only visible to the current context to a 58 converts <fence_sync> which is only visible to the current context to a
59 sync token which may be waited upon by any contexts on the same server. 59 sync token which may be waited upon by any contexts on the same server.
60 The <fence_sync> command must be flushed before this function may be 60 The <fence_sync> command must be flushed before this function may be
61 called, otherwise an INVALID_OPERATION error is generated. The generated 61 called, otherwise an INVALID_OPERATION error is generated. The generated
62 <sync_token> must be generated on the same context as when 62 <sync_token> must be generated on the same context as when
63 InsertSyncPointCHROMIUM was called. The <sync_token> can be passed and 63 InsertSyncPointCHROMIUM was called. The <sync_token> can be passed and
64 used by any context on the same server, including other context groups. 64 used by any context on the same server, including other context groups.
65 65
66 <sync_token> returns a GL_SYNC_POINT_SIZE_CHROMIUM byte sized name. 66 <sync_token> returns a GL_SYNC_POINT_SIZE_CHROMIUM byte sized name.
67 67
68 The command 68 The command
69 69
70 void WaitSyncTokenCHROMIUM(GLbyte *sync_token) 70 void WaitSyncTokenCHROMIUM(const GLbyte *sync_token)
71 71
72 causes the current context to stop submitting commands until the specified 72 causes the current context to stop submitting commands until the specified
73 fence sync becomes signaled. This is implemented as a server-side wait. 73 fence sync becomes signaled. This is implemented as a server-side wait.
74 <sync_token> is a sync token generated by GenSyncPointCHROMIUM. If 74 <sync_token> is a sync token generated by GenSyncPointCHROMIUM. If
75 <sync_token> isn't a valid sync token returned by GenSyncPointCHROMIUM, the 75 <sync_token> isn't a valid sync token returned by GenSyncPointCHROMIUM, the
76 command is equivalent to a no-op and no error is generated. 76 command is equivalent to a no-op and no error is generated.
77 77
78 New Tokens 78 New Tokens
79 79
80 The size of a sync token name in bytes. 80 The size of a sync token name in bytes.
81 81
82 GL_SYNC_TOKEN_SIZE_CHROMIUM 12 82 GL_SYNC_TOKEN_SIZE_CHROMIUM 24
83 83
84 Errors 84 Errors
85 85
86 INVALID_VALUE is generated if the <fence_sync> parameter of 86 INVALID_VALUE is generated if the <fence_sync> parameter of
87 GenSyncPointCHROMIUM is not a valid local fence sync name. 87 GenSyncPointCHROMIUM is not a valid local fence sync name.
88 88
89 INVALID_OPERATION is generated if the <fence_sync> parameter of 89 INVALID_OPERATION is generated if the <fence_sync> parameter of
90 GenSyncPointCHROMIUM has not been flushed to the server. 90 GenSyncPointCHROMIUM has not been flushed to the server.
91 91
92 New State 92 New State
93 93
94 None. 94 None.
95 95
96 Revision History 96 Revision History
97 97
98 2/25/2013 Documented the extension 98 2/25/2013 Documented the extension
99 99
100 9/8/2015 Modified functions to InsertFenceSyncCHROMIUM, 100 9/8/2015 Modified functions to InsertFenceSyncCHROMIUM,
101 GenSyncTokenCHROMIUM, and WaitSyncTokenCHROMIUM. 101 GenSyncTokenCHROMIUM, and WaitSyncTokenCHROMIUM.
OLDNEW
« no previous file with comments | « gpu/BUILD.gn ('k') | gpu/GLES2/gl2chromium_autogen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698