1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE book PUBLIC
"-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id=
"glWaitSync">
9 <holder>Khronos Group
</holder>
12 <refentrytitle>glWaitSync
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glWaitSync
</refname>
17 <refpurpose>instruct the GL server to block until the specified sync object becomes signaled
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glWaitSync
</function></funcdef>
23 <paramdef>GLsync
<parameter>sync
</parameter></paramdef>
24 <paramdef>GLbitfield
<parameter>flags
</parameter></paramdef>
25 <paramdef>GLuint64
<parameter>timeout
</parameter></paramdef>
29 <refsect1 id=
"parameters"><title>Parameters
</title>
32 <term><parameter>sync
</parameter></term>
35 Specifies the sync object whose status to wait on.
40 <term><parameter>flags
</parameter></term>
43 A bitfield controlling the command flushing behavior.
<parameter>flags
</parameter> may be zero.
48 <term><parameter>timeout
</parameter></term>
51 Specifies the timeout that the server should wait before continuing.
<parameter>timeout
</parameter> must be
<constant>GL_TIMEOUT_IGNORED
</constant>.
57 <refsect1 id=
"description"><title>Description
</title>
59 <function>glWaitSync
</function> causes the GL server to block and wait until
<parameter>sync
</parameter> becomes signaled.
<parameter>sync
</parameter>
60 is the name of an existing sync object upon which to wait.
<parameter>flags
</parameter> and
<parameter>timeout
</parameter> are currently not used and
61 must be set to zero and the special value
<constant>GL_TIMEOUT_IGNORED
</constant>, respectively
<footnote><para><parameter>flags
</parameter> and
62 <parameter>timeout
</parameter> are placeholders for anticipated future extensions of sync object capabilities. They must have these reserved values in
63 order that existing code calling
<function>glWaitSync
</function> operate properly in the presence of such extensions.
</para></footnote>.
<function>glWaitSync
</function> will always wait no longer than an implementation-dependent timeout. The
64 duration of this timeout in nanoseconds may be queried by calling
<citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with the
65 parameter
<constant>GL_MAX_SERVER_WAIT_TIMEOUT
</constant>. There is currently no way to determine whether
<function>glWaitSync
</function> unblocked
66 because the timeout expired or because the sync object being waited on was signaled.
69 If an error occurs,
<function>glWaitSync
</function> does not cause the GL server to block.
72 <refsect1 id=
"notes"><title>Notes
</title>
74 <function>glWaitSync
</function> is available only if the GL version is
3.2 or higher.
77 <refsect1 id=
"errors"><title>Errors
</title>
79 <constant>GL_INVALID_OPERATION
</constant> is generated if
<parameter>sync
</parameter> is not the name of a sync object.
82 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>flags
</parameter> is not zero.
85 <constant>GL_INVALID_VALUE
</constant> is generated if
<parameter>timeout
</parameter> is not
<constant>GL_TIMEOUT_IGNORED
</constant>.
88 <refsect1 id=
"seealso"><title>See Also
</title>
90 <citerefentry><refentrytitle>glFenceSync
</refentrytitle></citerefentry>,
91 <citerefentry><refentrytitle>glClientWaitSync
</refentrytitle></citerefentry>
94 <refsect1 id=
"Copyright"><title>Copyright
</title>
96 Copyright
<trademark class=
"copyright"></trademark> 2010 Khronos Group.
97 This material may be distributed subject to the terms and conditions set forth in
98 the Open Publication License, v
1.0,
8 June
1999.
99 <ulink url=
"http://opencontent.org/openpub/">http://opencontent.org/openpub/
</ulink>.