OLD | NEW |
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 Loading... |
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. |
OLD | NEW |