glClientWaitSync

block and wait for a sync object to become signaled

Signature

glClientWaitSync( GLsync ( sync ) , GLbitfield ( flags ) , GLuint64 ( timeout ) )-> GLenum
glClientWaitSync( sync , flags , timeout ) -> <class 'ctypes.c_uint'>

Parameters

VariablesDescription
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 timeout, specified in nanoseconds, for which the implementation should wait for sync to become signaled.

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.

Version Support

glClientWaitSync

See Also

Copyright

Copyright
2010-2014 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. .

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

glClientWaitSync
OpenGLContext tests/arbsync.py Lines: 30
OpenGLContext tests/shader_instanced_mapped.py Lines: 48, 52