glClientWaitSync: block and wait for a sync object to become signaled
Function Definition
GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
-
sync
- The sync object whose status to wait on. flags
- A bitfield controlling the command flushing behavior. flags may be GL_SYNC_FLUSH_COMMANDS_BIT. timeout
- The length of time, in nanoseconds to wait for the sync object to be signalled. May be 0 indicating not to wait.
Description
glClientWaitSync causes the client to block and wait for the sync object specified by sync to become signaled. If sync is signaled when glClientWaitSync is called, glClientWaitSync returns immediately, otherwise it will block and wait for up to timeout nanoseconds for sync to become signaled.
The return value is one of four status values:
- GL_ALREADY_SIGNALED indicates that sync was signaled at the time that glClientWaitSync was called.
- GL_TIMEOUT_EXPIRED indicates that at least timeout nanoseconds passed and sync did not become signaled.
- GL_CONDITION_SATISFIED indicates that sync was signaled before the timeout expired.
- GL_WAIT_FAILED indicates that an error occurred. Additionally, an OpenGL error will be generated.
Notes
glClientWaitSync is available only if the GL version is 3.2 or greater.
Errors
GL_INVALID_VALUE is generated if sync is not the name of an existing sync object.
GL_INVALID_VALUE is generated if flags contains any unsupported flag.
See Also
glFenceSync, glFinish, glWaitSync
Copyright
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/.