glWaitSync — instruct the GL server to block until the specified sync object becomes signaled
void glWaitSync( | GLsync sync, |
GLbitfield flags, | |
GLuint64 timeout) ; |
sync
Specifies the sync object whose status to wait on.
flags
A bitfield controlling the command flushing behavior. flags
may be zero.
timeout
Specifies the timeout that the server should wait before continuing. timeout
must be GL_TIMEOUT_IGNORED
.
glWaitSync
causes the GL server to block and wait until sync
becomes signaled. sync
is the name of an existing sync object upon which to wait. flags
and timeout
are currently not used and
must be set to zero and the special value GL_TIMEOUT_IGNORED
, respectively[1]. glWaitSync
will always wait no longer than an implementation-dependent timeout. The
duration of this timeout in nanoseconds may be queried by calling glGet with the
parameter GL_MAX_SERVER_WAIT_TIMEOUT
. There is currently no way to determine whether glWaitSync
unblocked
because the timeout expired or because the sync object being waited on was signaled.
If an error occurs, glWaitSync
does not cause the GL server to block.
GL_INVALID_VALUE
is generated if sync
is not the name of a sync object.
GL_INVALID_VALUE
is generated if flags
is not zero.
GL_INVALID_VALUE
is generated if timeout
is not GL_TIMEOUT_IGNORED
.
Copyright © 2010 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.
[1] flags
and
timeout
are placeholders for anticipated future extensions of sync object capabilities. They must have these reserved values in
order that existing code calling glWaitSync
operate properly in the presence of such extensions.