102f4aeb0Sopenharmony_ci<?xml version="1.0" encoding="UTF-8" standalone="no"?>
202f4aeb0Sopenharmony_ci<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
302f4aeb0Sopenharmony_ci  <head>
402f4aeb0Sopenharmony_ci    <title xmlns:xlink="http://www.w3.org/1999/xlink">eglWaitSync - EGL Reference Pages</title>
502f4aeb0Sopenharmony_ci    <link rel="stylesheet" type="text/css" href="khronos-man.css"/>
602f4aeb0Sopenharmony_ci    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
702f4aeb0Sopenharmony_ci  </head>
802f4aeb0Sopenharmony_ci  <body>
902f4aeb0Sopenharmony_ci    <header/>
1002f4aeb0Sopenharmony_ci    <div class="refentry" id="eglWaitSync">
1102f4aeb0Sopenharmony_ci      <div class="titlepage"/>
1202f4aeb0Sopenharmony_ci      <div class="refnamediv">
1302f4aeb0Sopenharmony_ci        <h2>Name</h2>
1402f4aeb0Sopenharmony_ci        <p>eglWaitSync — 
1502f4aeb0Sopenharmony_ci            Wait in the server for a sync object to be signalled
1602f4aeb0Sopenharmony_ci        </p>
1702f4aeb0Sopenharmony_ci      </div>
1802f4aeb0Sopenharmony_ci      <div class="refsynopsisdiv">
1902f4aeb0Sopenharmony_ci        <h2>C Specification</h2>
2002f4aeb0Sopenharmony_ci        <div class="funcsynopsis">
2102f4aeb0Sopenharmony_ci          <table style="border: 0; cellspacing: 0; cellpadding: 0;" class="funcprototype-table">
2202f4aeb0Sopenharmony_ci            <tr>
2302f4aeb0Sopenharmony_ci              <td>
2402f4aeb0Sopenharmony_ci                <code class="funcdef">EGLBoolean <strong class="fsfunc">eglWaitSync</strong>(</code>
2502f4aeb0Sopenharmony_ci              </td>
2602f4aeb0Sopenharmony_ci              <td>(EGLDisplay <var class="pdparam">display</var>, </td>
2702f4aeb0Sopenharmony_ci            </tr>
2802f4aeb0Sopenharmony_ci            <tr>
2902f4aeb0Sopenharmony_ci              <td> </td>
3002f4aeb0Sopenharmony_ci              <td>EGLSync <var class="pdparam">sync</var>, </td>
3102f4aeb0Sopenharmony_ci            </tr>
3202f4aeb0Sopenharmony_ci            <tr>
3302f4aeb0Sopenharmony_ci              <td> </td>
3402f4aeb0Sopenharmony_ci              <td>EGLint <var class="pdparam">flags</var><code>)</code>;</td>
3502f4aeb0Sopenharmony_ci            </tr>
3602f4aeb0Sopenharmony_ci          </table>
3702f4aeb0Sopenharmony_ci          <div class="funcprototype-spacer"> </div>
3802f4aeb0Sopenharmony_ci        </div>
3902f4aeb0Sopenharmony_ci      </div>
4002f4aeb0Sopenharmony_ci      <div class="refsect1" id="parameters">
4102f4aeb0Sopenharmony_ci        <h2>Parameters</h2>
4202f4aeb0Sopenharmony_ci        <div class="variablelist">
4302f4aeb0Sopenharmony_ci          <dl class="variablelist">
4402f4aeb0Sopenharmony_ci            <dt>
4502f4aeb0Sopenharmony_ci              <span class="term">
4602f4aeb0Sopenharmony_ci                <em class="parameter">
4702f4aeb0Sopenharmony_ci                  <code>display</code>
4802f4aeb0Sopenharmony_ci                </em>
4902f4aeb0Sopenharmony_ci              </span>
5002f4aeb0Sopenharmony_ci            </dt>
5102f4aeb0Sopenharmony_ci            <dd>
5202f4aeb0Sopenharmony_ci              <p>
5302f4aeb0Sopenharmony_ci                    Specifies the <abbr class="acronym">EGL</abbr> display connection.
5402f4aeb0Sopenharmony_ci                </p>
5502f4aeb0Sopenharmony_ci            </dd>
5602f4aeb0Sopenharmony_ci            <dt>
5702f4aeb0Sopenharmony_ci              <span class="term">
5802f4aeb0Sopenharmony_ci                <em class="parameter">
5902f4aeb0Sopenharmony_ci                  <code>sync</code>
6002f4aeb0Sopenharmony_ci                </em>
6102f4aeb0Sopenharmony_ci              </span>
6202f4aeb0Sopenharmony_ci            </dt>
6302f4aeb0Sopenharmony_ci            <dd>
6402f4aeb0Sopenharmony_ci              <p>
6502f4aeb0Sopenharmony_ci                    Specifies the sync object to wait on.
6602f4aeb0Sopenharmony_ci                </p>
6702f4aeb0Sopenharmony_ci            </dd>
6802f4aeb0Sopenharmony_ci            <dt>
6902f4aeb0Sopenharmony_ci              <span class="term">
7002f4aeb0Sopenharmony_ci                <em class="parameter">
7102f4aeb0Sopenharmony_ci                  <code>flags</code>
7202f4aeb0Sopenharmony_ci                </em>
7302f4aeb0Sopenharmony_ci              </span>
7402f4aeb0Sopenharmony_ci            </dt>
7502f4aeb0Sopenharmony_ci            <dd>
7602f4aeb0Sopenharmony_ci              <p>
7702f4aeb0Sopenharmony_ci                    Specifies flags controlling wait behavior.
7802f4aeb0Sopenharmony_ci                </p>
7902f4aeb0Sopenharmony_ci            </dd>
8002f4aeb0Sopenharmony_ci          </dl>
8102f4aeb0Sopenharmony_ci        </div>
8202f4aeb0Sopenharmony_ci      </div>
8302f4aeb0Sopenharmony_ci      <div class="refsect1" id="description">
8402f4aeb0Sopenharmony_ci        <h2>Description</h2>
8502f4aeb0Sopenharmony_ci        <p>
8602f4aeb0Sopenharmony_ci            <code class="function">eglWaitSync</code> is similar to
8702f4aeb0Sopenharmony_ci            <code class="function">eglClientWaitSync</code>, but instead of blocking
8802f4aeb0Sopenharmony_ci            and not returning to the application until
8902f4aeb0Sopenharmony_ci            <em class="parameter"><code>sync</code></em> is signaled,
9002f4aeb0Sopenharmony_ci            <code class="function">eglWaitSync</code> returns immediately. On
9102f4aeb0Sopenharmony_ci            success, <code class="constant">EGL_TRUE</code> is returned, and the
9202f4aeb0Sopenharmony_ci            server for the client API context will block until
9302f4aeb0Sopenharmony_ci            <em class="parameter"><code>sync</code></em> is signaled.
9402f4aeb0Sopenharmony_ci        </p>
9502f4aeb0Sopenharmony_ci        <p>
9602f4aeb0Sopenharmony_ci            Note: <code class="function">eglWaitSync</code> allows applications to
9702f4aeb0Sopenharmony_ci            continue to queue commands from the application in anticipation
9802f4aeb0Sopenharmony_ci            of the sync being signaled, potentially increasing parallelism
9902f4aeb0Sopenharmony_ci            between application, client API server code, and the GPU. The
10002f4aeb0Sopenharmony_ci            server only blocks execution of commands for the specific
10102f4aeb0Sopenharmony_ci            context on which <code class="function">eglWaitSync</code> was issued;
10202f4aeb0Sopenharmony_ci            other contexts implemented by the same server are not affected..
10302f4aeb0Sopenharmony_ci        </p>
10402f4aeb0Sopenharmony_ci        <p>
10502f4aeb0Sopenharmony_ci            <em class="parameter"><code>sync</code></em> has the same meaning as for
10602f4aeb0Sopenharmony_ci            <code class="function">eglClientWaitSync</code>.
10702f4aeb0Sopenharmony_ci        </p>
10802f4aeb0Sopenharmony_ci        <p>
10902f4aeb0Sopenharmony_ci            <em class="parameter"><code>flags</code></em> must be 0.
11002f4aeb0Sopenharmony_ci        </p>
11102f4aeb0Sopenharmony_ci        <p>
11202f4aeb0Sopenharmony_ci            <code class="function">eglWaitSync</code> requires support from the bound
11302f4aeb0Sopenharmony_ci            client API, and will not succeed unless the same client API
11402f4aeb0Sopenharmony_ci            properties described for creation of fence syncs in
11502f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglCreateSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateSync</span></span></a>
11602f4aeb0Sopenharmony_ci            are satisfied.
11702f4aeb0Sopenharmony_ci        </p>
11802f4aeb0Sopenharmony_ci      </div>
11902f4aeb0Sopenharmony_ci      <div class="refsect1" id="errors">
12002f4aeb0Sopenharmony_ci        <h2>Errors</h2>
12102f4aeb0Sopenharmony_ci        <p>
12202f4aeb0Sopenharmony_ci            <code class="function">eglWaitSync</code> returns
12302f4aeb0Sopenharmony_ci            <code class="constant">EGL_FALSE</code> on failure, and does not cause
12402f4aeb0Sopenharmony_ci            the server for the client API context to block.
12502f4aeb0Sopenharmony_ci        </p>
12602f4aeb0Sopenharmony_ci        <p>
12702f4aeb0Sopenharmony_ci            If the current context for the currently bound client API does
12802f4aeb0Sopenharmony_ci            not support server waits, an <code class="constant">EGL_BAD_MATCH</code>
12902f4aeb0Sopenharmony_ci            error is generated.
13002f4aeb0Sopenharmony_ci        </p>
13102f4aeb0Sopenharmony_ci        <p>
13202f4aeb0Sopenharmony_ci            If no context is current for the currently bound client API
13302f4aeb0Sopenharmony_ci            (i.e., <code class="function">eglGetCurrentContext</code> returns
13402f4aeb0Sopenharmony_ci            <code class="constant">EGL_NO_CONTEXT</code>), an
13502f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_MATCH</code> error is generated.
13602f4aeb0Sopenharmony_ci        </p>
13702f4aeb0Sopenharmony_ci        <p>
13802f4aeb0Sopenharmony_ci            If <em class="parameter"><code>display</code></em> does not match the
13902f4aeb0Sopenharmony_ci            <span class="type">EGLDisplay</span> passed to
14002f4aeb0Sopenharmony_ci            <code class="function">eglCreateSync</code> when
14102f4aeb0Sopenharmony_ci            <em class="parameter"><code>sync</code></em> was created, the behavior is
14202f4aeb0Sopenharmony_ci            undefined.
14302f4aeb0Sopenharmony_ci        </p>
14402f4aeb0Sopenharmony_ci        <p>
14502f4aeb0Sopenharmony_ci            If <em class="parameter"><code>sync</code></em> is not a valid sync object for
14602f4aeb0Sopenharmony_ci            <em class="parameter"><code>display</code></em>, an
14702f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_PARAMETER</code> error is generated.
14802f4aeb0Sopenharmony_ci        </p>
14902f4aeb0Sopenharmony_ci        <p>
15002f4aeb0Sopenharmony_ci            If <em class="parameter"><code>flags</code></em> is not 0, an
15102f4aeb0Sopenharmony_ci            <code class="constant">EGL_BAD_PARAMETER</code> error is generated.
15202f4aeb0Sopenharmony_ci        </p>
15302f4aeb0Sopenharmony_ci      </div>
15402f4aeb0Sopenharmony_ci      <div class="refsect1" id="notes">
15502f4aeb0Sopenharmony_ci        <h2>Notes</h2>
15602f4aeb0Sopenharmony_ci        <p>
15702f4aeb0Sopenharmony_ci            <code class="function">eglWaitSync</code> is available only if the EGL
15802f4aeb0Sopenharmony_ci            version is 1.5 or greater.
15902f4aeb0Sopenharmony_ci        </p>
16002f4aeb0Sopenharmony_ci      </div>
16102f4aeb0Sopenharmony_ci      <div class="refsect1" id="seealso">
16202f4aeb0Sopenharmony_ci        <h2>See Also</h2>
16302f4aeb0Sopenharmony_ci        <p>
16402f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglClientWaitSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglClientWaitSync</span></span></a>,
16502f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglCreateSync.xhtml"><span class="citerefentry"><span class="refentrytitle">eglCreateSync</span></span></a>,
16602f4aeb0Sopenharmony_ci            <a class="citerefentry" href="eglGetCurrentContext.xhtml"><span class="citerefentry"><span class="refentrytitle">eglGetCurrentContext</span></span></a>
16702f4aeb0Sopenharmony_ci        </p>
16802f4aeb0Sopenharmony_ci      </div>
16902f4aeb0Sopenharmony_ci      <p>
17002f4aeb0Sopenharmony_ci    </p>
17102f4aeb0Sopenharmony_ci      <div class="refsect3" id="copyright">
17202f4aeb0Sopenharmony_ci        <img src="KhronosLogo.jpg"/>
17302f4aeb0Sopenharmony_ci        <p>
17402f4aeb0Sopenharmony_ci            Copyright © 2003-2014 The Khronos Group Inc.
17502f4aeb0Sopenharmony_ci            Permission is hereby granted, free of charge, to any person obtaining a
17602f4aeb0Sopenharmony_ci            copy of this software and/or associated documentation files (the
17702f4aeb0Sopenharmony_ci            "Materials"), to deal in the Materials without restriction, including
17802f4aeb0Sopenharmony_ci            without limitation the rights to use, copy, modify, merge, publish,
17902f4aeb0Sopenharmony_ci            distribute, sublicense, and/or sell copies of the Materials, and to
18002f4aeb0Sopenharmony_ci            permit persons to whom the Materials are furnished to do so, subject to
18102f4aeb0Sopenharmony_ci            the condition that this copyright notice and permission notice shall be included
18202f4aeb0Sopenharmony_ci            in all copies or substantial portions of the Materials.
18302f4aeb0Sopenharmony_ci        </p>
18402f4aeb0Sopenharmony_ci      </div>
18502f4aeb0Sopenharmony_ci      <p>
18602f4aeb0Sopenharmony_ci</p>
18702f4aeb0Sopenharmony_ci    </div>
18802f4aeb0Sopenharmony_ci    <footer/>
18902f4aeb0Sopenharmony_ci  </body>
19002f4aeb0Sopenharmony_ci</html>
191