| <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:base="" xml:id="eglWaitSync"> |
| <info> |
| <copyright> |
| <year>2018</year> |
| <holder>The Khronos Group Inc.</holder> |
| </copyright> |
| </info> |
| <refmeta> |
| <refentrytitle>eglWaitSync</refentrytitle> |
| <manvolnum>3G</manvolnum> |
| </refmeta> |
| <refnamediv> |
| <refname>eglWaitSync</refname> |
| <refpurpose> |
| Wait in the server for a sync object to be signalled |
| </refpurpose> |
| </refnamediv> |
| <refsynopsisdiv> |
| <title>C Specification</title> |
| <funcsynopsis> |
| <funcprototype> |
| <funcdef>EGLBoolean <function>eglWaitSync</function></funcdef> |
| <paramdef>(EGLDisplay <parameter>display</parameter></paramdef> |
| <paramdef>EGLSync <parameter>sync</parameter></paramdef> |
| <paramdef>EGLint <parameter>flags</parameter></paramdef> |
| </funcprototype> |
| </funcsynopsis> |
| </refsynopsisdiv> |
| <refsect1 xml:id="parameters"><title>Parameters</title> |
| <variablelist> |
| <varlistentry> |
| <term><parameter>display</parameter></term> |
| <listitem><para> |
| Specifies the <acronym>EGL</acronym> display connection. |
| </para></listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>sync</parameter></term> |
| <listitem><para> |
| Specifies the sync object to wait on. |
| </para></listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>flags</parameter></term> |
| <listitem><para> |
| Specifies flags controlling wait behavior. |
| </para></listitem> |
| </varlistentry> |
| </variablelist> |
| </refsect1> |
| <refsect1 xml:id="description"><title>Description</title> |
| <para> |
| <function>eglWaitSync</function> is similar to |
| <function>eglClientWaitSync</function>, but instead of blocking |
| and not returning to the application until |
| <parameter>sync</parameter> is signaled, |
| <function>eglWaitSync</function> returns immediately. On |
| success, <constant>EGL_TRUE</constant> is returned, and the |
| server for the client API context will block until |
| <parameter>sync</parameter> is signaled. |
| </para> |
| <para> |
| Note: <function>eglWaitSync</function> 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 <function>eglWaitSync</function> was issued; |
| other contexts implemented by the same server are not affected.. |
| </para> |
| <para> |
| <parameter>sync</parameter> has the same meaning as for |
| <function>eglClientWaitSync</function>. |
| </para> |
| <para> |
| <parameter>flags</parameter> must be 0. |
| </para> |
| <para> |
| <function>eglWaitSync</function> requires support from the bound |
| client API, and will not succeed unless the same client API |
| properties described for creation of fence syncs in |
| <citerefentry><refentrytitle>eglCreateSync</refentrytitle></citerefentry> |
| are satisfied. |
| </para> |
| </refsect1> |
| <refsect1 xml:id="errors"><title>Errors</title> |
| <para> |
| <function>eglWaitSync</function> returns |
| <constant>EGL_FALSE</constant> on failure, and does not cause |
| the server for the client API context to block. |
| </para> |
| <para> |
| If the current context for the currently bound client API does |
| not support server waits, an <constant>EGL_BAD_MATCH</constant> |
| error is generated. |
| </para> |
| <para> |
| If no context is current for the currently bound client API |
| (i.e., <function>eglGetCurrentContext</function> returns |
| <constant>EGL_NO_CONTEXT</constant>), an |
| <constant>EGL_BAD_MATCH</constant> error is generated. |
| </para> |
| <para> |
| If <parameter>display</parameter> does not match the |
| <type>EGLDisplay</type> passed to |
| <function>eglCreateSync</function> when |
| <parameter>sync</parameter> was created, the behavior is |
| undefined. |
| </para> |
| <para> |
| If <parameter>sync</parameter> is not a valid sync object for |
| <parameter>display</parameter>, an |
| <constant>EGL_BAD_PARAMETER</constant> error is generated. |
| </para> |
| <para> |
| If <parameter>flags</parameter> is not 0, an |
| <constant>EGL_BAD_PARAMETER</constant> error is generated. |
| </para> |
| </refsect1> |
| <refsect1 xml:id="notes"><title>Notes</title> |
| <para> |
| <function>eglWaitSync</function> is available only if the EGL |
| version is 1.5 or greater. |
| </para> |
| </refsect1> |
| <refsect1 xml:id="seealso"><title>See Also</title> |
| <para> |
| <citerefentry><refentrytitle>eglClientWaitSync</refentrytitle></citerefentry>, |
| <citerefentry><refentrytitle>eglCreateSync</refentrytitle></citerefentry>, |
| <citerefentry><refentrytitle>eglGetCurrentContext</refentrytitle></citerefentry> |
| </para> |
| </refsect1> |
| <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="copyright.xml"/> |
| </refentry> |