table of contents
GLGETGRAPHICSRESETST(3G) | [FIXME: manual] | GLGETGRAPHICSRESETST(3G) |
NAME¶
glGetGraphicsResetStatus - check if the rendering context has not been lost due to software or hardware issuesC SPECIFICATION¶
GLenum
glGetGraphicsResetStatus(void);
DESCRIPTION¶
Certain events can result in a reset of the GL context. Such a reset causes all context state to be lost and requires the application to recreate all objects in the affected context. glGetGraphicsResetStatus can return one of the following constants: GL_NO_ERRORIndicates that the GL context has not been in a reset
state since the last call.
GL_GUILTY_CONTEXT_RESET
Indicates that a reset has been detected that is
attributable to the current GL context.
GL_INNOCENT_CONTEXT_RESET
Indicates a reset has been detected that is not
attributable to the current GL context.
GL_UNKNOWN_CONTEXT_RESET
Indicates a detected graphics reset whose cause is
unknown.
If a reset status other than GL_NO_ERROR is returned and subsequent calls
return GL_NO_ERROR, the context reset was encountered and completed. If
a reset status is repeatedly returned, the context may be in the process of
resetting.
Reset notification behavior is determined at context creation time, and may be
queried by calling GetIntegerv with the symbolic constant
GL_RESET_NOTIFICATION_STRATEGY.
If the reset notification behavior is GL_NO_RESET_NOTIFICATION, then the
implementation will never deliver notification of reset events, and
glGetGraphicsResetStatus will always return GL_NO_ERROR.
If the behavior is GL_LOSE_CONTEXT_ON_RESET, a graphics reset will result
in the loss of all context state, requiring the recreation of all associated
objects. In this case glGetGraphicsResetStatus may return any of the
values described above.
If a graphics reset notification occurs in a context, a notification must also
occur in all other contexts which share objects with that context.
After a graphics reset has occurred on a context, subsequent GL commands on that
context (or any context which shares with that context) will generate a
GL_CONTEXT_LOST error. Such commands will not have side effects (in
particular, they will not modify memory passed by pointer for query results),
and will not block indefinitely or cause termination of the application. There
are two important exceptions to this behavior:
•glGetError and
glGetGraphicsResetStatus behave normally following a graphics reset, so
that the application can determine a reset has occurred, and when it is safe
to destroy and re-create the context.
•Any commands which might cause a polling
application to block indefinitely will generate a GL_CONTEXT_LOST
error, but will also return a value indicating completion to the application.
Such commands include:
•glGetSynciv with pname
GL_SYNC_STATUS ignores the other parameters and returns
GL_SIGNALED in values.
•glGetQueryObjectuiv with pname
GL_QUERY_RESULT_AVAILABLE ignores the other parameters and returns
TRUE in params.
VERSION SUPPORT¶
OpenGL Version | ||||||||||||
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glGetGraphicsResetStatus | - | - | - | - | - | - | - | - | - | - | - | ✔ |
SEE ALSO¶
glGetError()glGetIntegerv(), glGetQueryObjectuiv()glGetSynciv()COPYRIGHT¶
Copyright © 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. http://opencontent.org/openpub/.COPYRIGHT¶
Copyright © 2014 Khronos Group08/26/2014 | [FIXME: source] |