Difference between revisions of "GLAPI/glClientWaitSync"

From OpenGL Wiki
Jump to navigation Jump to search
m (Bot: Adding better formatting.)
Line 52: Line 52:
[[Category:Core API Reference|ClientWaitSync]]
[[Category:Core API Reference|ClientWaitSync]]
[[Category:Core API Ref Synchronization|ClientWaitSync]]
[[Category:Core API Ref Synchronization|ClientWaitSync]]
[[Category:Sync Object API State Functions|ClientWaitSync]]

Latest revision as of 09:50, 15 August 2013

Core in version 4.6
Core since version 3.2
Core ARB extension ARB_sync

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

Function Definition

 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 length of time, in nanoseconds to wait for the sync object to be signalled. May be 0 indicating not to wait.


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, glFinish, glWaitSync


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/.