rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / glClientWaitSync.xml
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="glClientWaitSync">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>2010</year>
9 <holder>Khronos Group</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glClientWaitSync</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glClientWaitSync</refname>
17 <refpurpose>block and wait for a sync object to become signaled</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>GLenum <function>glClientWaitSync</function></funcdef>
23 <paramdef>GLsync <parameter>sync</parameter></paramdef>
24 <paramdef>GLbitfield <parameter>flags</parameter></paramdef>
25 <paramdef>GLuint64 <parameter>timeout</parameter></paramdef>
26 </funcprototype>
27 </funcsynopsis>
28 </refsynopsisdiv>
29 <refsect1 id="parameters"><title>Parameters</title>
30 <variablelist>
31 <varlistentry>
32 <term><parameter>sync</parameter></term>
33 <listitem>
34 <para>
35 The sync object whose status to wait on.
36 </para>
37 </listitem>
38 </varlistentry>
39 <varlistentry>
40 <term><parameter>flags</parameter></term>
41 <listitem>
42 <para>
43 A bitfield controlling the command flushing behavior. <parameter>flags</parameter> may be <constant>GL_SYNC_FLUSH_COMMANDS_BIT</constant>.
44 </para>
45 </listitem>
46 </varlistentry>
47 </variablelist>
48 <varlistentry>
49 <term><parameter>timeout</parameter></term>
50 <listitem>
51 <para>
52 The timeout, specified in nanoseconds, for which the implementation should wait for <parameter>sync</parameter> to become signaled.
53 </para>
54 </listitem>
55 </varlistentry>
56 </refsect1>
57 <refsect1 id="description"><title>Description</title>
58 <para>
59 <function>glClientWaitSync</function> causes the client to block and wait for the sync object specified by <parameter>sync</parameter> to become signaled. If
60 <parameter>sync</parameter> is signaled when <function>glClientWaitSync</function> is called, <function>glClientWaitSync</function> returns immediately, otherwise
61 it will block and wait for up to <parameter>timeout</parameter> nanoseconds for <parameter>sync</parameter> to become signaled.
62 </para>
63 <para>
64 The return value is one of four status values:
65 <itemizedlist>
66 <listitem>
67 <para>
68 <constant>GL_ALREADY_SIGNALED</constant> indicates that <parameter>sync</parameter> was signaled at the time that <function>glClientWaitSync</function>
69 was called.
70 </para>
71 </listitem>
72 <listitem>
73 <para>
74 <constant>GL_TIMEOUT_EXPIRED</constant> indicates that at least <parameter>timeout</parameter> nanoseconds passed and <parameter>sync</parameter> did not
75 become signaled.
76 </para>
77 </listitem>
78 <listitem>
79 <para>
80 <constant>GL_CONDITION_SATISFIED</constant> indicates that <parameter>sync</parameter> was signaled before the timeout expired.
81 </para>
82 </listitem>
83 <listitem>
84 <para>
85 <constant>GL_WAIT_FAILED</constant> indicates that an error occurred. Additionally, an OpenGL error will be generated.
86 </para>
87 </listitem>
88 </itemizedlist>
89 </para>
90 </refsect1>
91 <refsect1 id="notes"><title>Notes</title>
92 <para>
93 <function>glClientWaitSync</function> is available only if the GL version is 3.2 or greater.
94 </para>
95 </refsect1>
96 <refsect1 id="errors"><title>Errors</title>
97 <para>
98 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>sync</parameter> is not the name of an existing sync object.
99 </para>
100 <para>
101 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>flags</parameter> contains any unsupported flag.
102 </para>
103 </refsect1>
104 <refsect1 id="seealso"><title>See Also</title>
105 <para>
106 <citerefentry><refentrytitle>glFenceSync</refentrytitle></citerefentry>,
107 <citerefentry><refentrytitle>glIsSync</refentrytitle></citerefentry>
108 <citerefentry><refentrytitle>glWaitSync</refentrytitle></citerefentry>
109 </para>
110 </refsect1>
111 <refsect1 id="Copyright"><title>Copyright</title>
112 <para>
113 Copyright <trademark class="copyright"></trademark> 2010 Khronos Group.
114 This material may be distributed subject to the terms and conditions set forth in
115 the Open Publication License, v 1.0, 8 June 1999.
116 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
117 </para>
118 </refsect1>
119 </refentry>