blob: 4eeff766f8d923ec6da353f75269782f9526136c [file] [log] [blame]
<?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>