1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title xmlns:xlink="http://www.w3.org/1999/xlink">eglWaitSync - EGL Reference Pages</title>
<link rel="stylesheet" type="text/css" href="khronos-man.css"/>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
</head>
<body>
<header/>
<div class="refentry" id="eglWaitSync">
<div class="titlepage"/>
<div class="refnamediv">
<h2>Name</h2>
<p>eglWaitSync —
Wait in the server for a sync object to be signalled
</p>
</div>
<div class="refsynopsisdiv">
<h2>C Specification</h2>
<div class="funcsynopsis">
<table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table">
<tr>
<td>
<code class="funcdef">EGLBoolean <strong class="fsfunc">eglWaitSync</strong>(</code>
</td>
<td>(EGLDisplay <var class="pdparam">display</var>, </td>
</tr>
<tr>
<td> </td>
<td>EGLSync <var class="pdparam">sync</var>, </td>
</tr>
<tr>
<td> </td>
<td>EGLint <var class="pdparam">flags</var><code>)</code>;</td>
</tr>
</table>
<div class="funcprototype-spacer"> </div>
</div>
</div>
<div class="refsect1" id="parameters">
<h2>Parameters</h2>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<em class="parameter">
<code>display</code>
</em>
</span>
</dt>
<dd>
<p>
Specifies the <abbr class="acronym">EGL</abbr> display connection.
</p>
</dd>
<dt>
<span class="term">
<em class="parameter">
<code>sync</code>
</em>
</span>
</dt>
<dd>
<p>
Specifies the sync object to wait on.
</p>
</dd>
<dt>
<span class="term">
<em class="parameter">
<code>flags</code>
</em>
</span>
</dt>
<dd>
<p>
Specifies flags controlling wait behavior.
</p>
</dd>
</dl>
</div>
</div>
<div class="refsect1" id="description">
<h2>Description</h2>
<p>
<code class="function">eglWaitSync</code> is similar to
<code class="function">eglClientWaitSync</code>, but instead of blocking
and not returning to the application until
<em class="parameter"><code>sync</code></em> is signaled,
<code class="function">eglWaitSync</code> returns immediately. On
success, <code class="constant">EGL_TRUE</code> is returned, and the
server for the client API context will block until
<em class="parameter"><code>sync</code></em> is signaled.
</p>
<p>
Note: <code class="function">eglWaitSync</code> allows applications to
continue to queue commands from the application in anticipation
of the sync being signaled, potentially increasing parallelism
between application, client API server code, and the GPU. The
server only blocks execution of commands for the specific
context on which <code class="function">eglWaitSync</code> was issued;
other contexts implemented by the same server are not affected..
</p>
<p>
<em class="parameter"><code>sync</code></em> has the same meaning as for
<code class="function">eglClientWaitSync</code>.
</p>
<p>
<em class="parameter"><code>flags</code></em> must be 0.
</p>
<p>
<code class="function">eglWaitSync</code> requires support from the bound
client API, and will not succeed unless the same client API
properties described for creation of fence syncs in
<a class="citerefentry" href="eglCreateSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateSync</span></span></a>
are satisfied.
</p>
</div>
<div class="refsect1" id="errors">
<h2>Errors</h2>
<p>
<code class="function">eglWaitSync</code> returns
<code class="constant">EGL_FALSE</code> on failure, and does not cause
the server for the client API context to block.
</p>
<p>
If the current context for the currently bound client API does
not support server waits, an <code class="constant">EGL_BAD_MATCH</code>
error is generated.
</p>
<p>
If no context is current for the currently bound client API
(i.e., <code class="function">eglGetCurrentContext</code> returns
<code class="constant">EGL_NO_CONTEXT</code>), an
<code class="constant">EGL_BAD_MATCH</code> error is generated.
</p>
<p>
If <em class="parameter"><code>display</code></em> does not match the
<span class="type">EGLDisplay</span> passed to
<code class="function">eglCreateSync</code> when
<em class="parameter"><code>sync</code></em> was created, the behavior is
undefined.
</p>
<p>
If <em class="parameter"><code>sync</code></em> is not a valid sync object for
<em class="parameter"><code>display</code></em>, an
<code class="constant">EGL_BAD_PARAMETER</code> error is generated.
</p>
<p>
If <em class="parameter"><code>flags</code></em> is not 0, an
<code class="constant">EGL_BAD_PARAMETER</code> error is generated.
</p>
</div>
<div class="refsect1" id="notes">
<h2>Notes</h2>
<p>
<code class="function">eglWaitSync</code> is available only if the EGL
version is 1.5 or greater.
</p>
</div>
<div class="refsect1" id="seealso">
<h2>See Also</h2>
<p>
<a class="citerefentry" href="eglClientWaitSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglClientWaitSync</span></span></a>,
<a class="citerefentry" href="eglCreateSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateSync</span></span></a>,
<a class="citerefentry" href="eglGetCurrentContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentContext</span></span></a>
</p>
</div>
<p>
</p>
<div class="refsect3" id="copyright">
<img src="KhronosLogo.jpg"/>
<p>
Copyright © 2003-2014 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.
</p>
</div>
<p>
</p>
</div>
<footer/>
</body>
</html>
|