GLAPI/glClientWaitSync: Difference between revisions
4.0 API. |
m Bot: Adding better formatting. |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 9: | Line 9: | ||
== Function Definition == | == Function Definition == | ||
GLenum '''glClientWaitSync'''(GLsync | GLenum '''glClientWaitSync'''(GLsync {{param|sync}}, GLbitfield {{param|flags}}, GLuint64 {{param|timeout}}); | ||
; sync | ; sync | ||
: 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. | : A bitfield controlling the command flushing behavior. {{param|flags}} may be {{enum|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 == | == Description == | ||
'''glClientWaitSync''' causes the client to block and wait for the sync object specified by | '''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: | 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. | ||
* {{ | * {{enum|GL_TIMEOUT_EXPIRED}} indicates that at least {{param|timeout}} nanoseconds passed and {{param|sync}} did not become signaled. | ||
* {{enum|GL_CONDITION_SATISFIED}} indicates that {{param|sync}} was signaled before the timeout expired. | |||
* {{enum|GL_WAIT_FAILED}} indicates that an error occurred. Additionally, an OpenGL error will be generated. | |||
== Notes == | == Notes == | ||
Line 36: | Line 38: | ||
== Errors == | == Errors == | ||
{{ | {{enum|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|flags}} contains any unsupported flag. | ||
== See Also == | == See Also == | ||
{{apifunc|glFenceSync}}, {{apifunc|glFinish}}, {{apifunc|glWaitSync}} | |||
== Copyright == | == Copyright == | ||
Line 48: | Line 50: | ||
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/ http://opencontent.org/openpub/]. | 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/ http://opencontent.org/openpub/]. | ||
[[Category:API Reference | [[Category:Core API Reference|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);
- 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/.