GLAPI/glClientWaitSync: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 14: Line 14:
: The sync object whose status to wait on.
: The sync object whose status to wait on.
; flags
; flags
: A bitfield controlling the command flushing behavior. {{param|flags}} may be {{code|GL_SYNC_FLUSH_COMMANDS_BIT}}.
: A bitfield controlling the command flushing behavior. {{param|flags}} may be {{enum|GL_SYNC_FLUSH_COMMANDS_BIT}}.


== Description ==
== Description ==
Line 20: Line 20:
'''glClientWaitSync''' causes the client to block and wait for the sync object specified by {{param|sync}} to become signaled. If {{param|sync}} is signaled when '''glClientWaitSync''' is called, '''glClientWaitSync''' returns immediately, otherwise it will block and wait for up to {{param|timeout}} nanoseconds for {{param|sync}} to become signaled.
'''glClientWaitSync''' causes the client to block and wait for the sync object specified by {{param|sync}} to become signaled. If {{param|sync}} is signaled when '''glClientWaitSync''' is called, '''glClientWaitSync''' returns immediately, otherwise it will block and wait for up to {{param|timeout}} nanoseconds for {{param|sync}} to become signaled.


The return value is one of four status values: * {{code|GL_ALREADY_SIGNALED}} indicates that {{param|sync}} was signaled at the time that '''glClientWaitSync''' was called.
The return value is one of four status values: * {{enum|GL_ALREADY_SIGNALED}} indicates that {{param|sync}} was signaled at the time that '''glClientWaitSync''' was called.


* {{code|GL_TIMEOUT_EXPIRED}} indicates that at least {{param|timeout}} nanoseconds passed and {{param|sync}} did not become signaled.
* {{enum|GL_TIMEOUT_EXPIRED}} indicates that at least {{param|timeout}} nanoseconds passed and {{param|sync}} did not become signaled.


* {{code|GL_CONDITION_SATISFIED}} indicates that {{param|sync}} was signaled before the timeout expired.
* {{enum|GL_CONDITION_SATISFIED}} indicates that {{param|sync}} was signaled before the timeout expired.


* {{code|GL_WAIT_FAILED}} indicates that an error occurred. Additionally, an OpenGL error will be generated.
* {{enum|GL_WAIT_FAILED}} indicates that an error occurred. Additionally, an OpenGL error will be generated.




Line 36: Line 36:
== Errors ==
== Errors ==


{{code|GL_INVALID_VALUE}} is generated if {{param|sync}} is not the name of an existing sync object.
{{enum|GL_INVALID_VALUE}} is generated if {{param|sync}} is not the name of an existing sync object.


{{code|GL_INVALID_VALUE}} is generated if {{param|flags}} contains any unsupported flag.
{{enum|GL_INVALID_VALUE}} is generated if {{param|flags}} contains any unsupported flag.


== See Also ==
== See Also ==

Revision as of 17:17, 29 April 2012

glClientWaitSync
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​);
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.

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, glIsSyncglWaitSync

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