summaryrefslogtreecommitdiff
path: root/glew/auto/EGL-Registry/sdk/docs/man/html/eglWaitSync.xhtml
blob: 4eeff766f8d923ec6da353f75269782f9526136c (plain)
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>