glClientWaitSync.3G man page

glClientWaitSync — block and wait for a sync object to become signaled

C Specification

GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);



The sync object whose status to wait on.


A bitfield controlling the command flushing behavior. flags may be GL_SYNC_FLUSH_COMMANDS_BIT.


The timeout, specified in nanoseconds, for which the implementation should wait for sync to become signaled.


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.


glClientWaitSync is available only if the GL version is 3.2 or greater.


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(), glIsSync()glWaitSync()