glFinishAsyncSGIX(3G)
glFinishAsyncSGIX - wait for completion of an asynchronous command
As shipped in IRIX 6.5.30. Added in IRIX 6.5.15.
NAME glFinishAsyncSGIX - wait for completion of an asynchronous command C SPECIFICATION GLint glFinishAsyncSGIX( GLuint *markerp ) PARAMETERS markerp Returns a marker for a completed asynchronous command. DESCRIPTION glFinishAsyncSGIX is part of the SGIX_async extension. This extension provides a framework within which particular sets of OpenGL commands can become "asynchronous" via specific further OpenGL extensions. Currently the SGIX_async_pixel extension is the only such defined extension. Asynchronous commands are commands that may complete out-of-order with respect to other OpenGL commands. An asynchronous command samples the OpenGL state vector when it is issued. The sampled state includes the results from the complete execution of all synchronous (normal) commands issued prior to the asynchronous command. However, the results of an asynchronous command (state changes or framebuffer updates) are not necessarily committed in order. An asynchronous command may commit its results any time after the completion of all synchronous commands issued prior to the asynchronous command. An implementation may choose to execute asynchronous commands in parallel with subsequent commands or at some convenient time in the future. Implementations of asynchronous commands may also be non-blocking. For example, a non-blocking query command returns control to the program immediately rather than stalling the program until the results of the query are available. Note that this language allows any particular asynchronous command to behave exactly as if it were not asynchronous, if the implementation chooses. glFinishAsyncSGIX returns 1 when an asynchronous command has completed; in this case it writes the marker associated with the completed command into the integer referred to by markerp. If there are pending asynchronous commands but none have completed, glFinishAsyncSGIX blocks waiting for one. If there are no pending asynchronous commands, glFinishAsyncSGIX returns 0 immediately and does not modify the integer referred to by markerp. Once OpenGL has reported the completion of an asynchronous command via either glFinishAsyncSGIX or glPollAsyncSGIX, the completion status of the command will not be reported again. If several commands have the same marker associated with them, the completion status of each command will be reported separately, although these reports will be indistinguishable. The order in which asynchronous commands are reported is undefined. A program may guarantee that all outstanding asynchronous commands have completed by calling glFinish. A call to glFinish does not cause the completion status of outstanding commands to be reported, so subsequent calls to glFinishAsyncSGIX or glPollAsyncSGIX will report the status of such commands. ERRORS GL_INVALID_OPERATION is generated if glFinishAsyncSGIX is executed between the execution of glBegin and the corresponding execution of glEnd. MACHINE DEPENDENCIES The SGIX_async and SGIX_async_pixel extensions are implemented only on Octane2 VPro systems. SEE ALSO glAsyncMarkerSGIX, glDeleteAsyncMarkersSGIX, glGenAsyncMarkersSGIX, glIsAsyncMarkerSGIX, glPollAsyncSGIX, glDrawPixels, glGet, glReadPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D