名称
glGetGraphicsResetStatus — 检查渲染上下文是否由于软件或硬件问题而丢失
C 规范
GLenum glGetGraphicsResetStatus( void);
描述
某些事件可能导致GL上下文的重置。这种重置会导致所有上下文状态丢失,并要求应用程序在受影响的上下文中重新创建所有对象。
glGetGraphicsResetStatus可以返回以下常量之一:
GL_NO_ERROR
指示自上次调用以来GL上下文尚未处于重置状态。
GL_GUILTY_CONTEXT_RESET
指示已检测到归因于当前GL上下文的重置。
GL_INNOCENT_CONTEXT_RESET
表示已检测到归因于当前GL上下文的重置。
GL_UNKNOWN_CONTEXT_RESET
指示检测到的图形重置,其原因未知。
如果返回了除GL_NO_ERROR以外的其他复位状态,并且随后的调用返回了GL_NO_ERROR,则遇到并完成了上下文复位。如果重复返回重置状态,则上下文可能正在重置。
重置通知行为是在上下文创建时确定的,可以通过使用符号常量GL_RESET_NOTIFICATION_STRATEGY调用glGetIntegerv来查询。
如果重置通知行为是GL_NO_RESET_NOTIFICATION,则实现将永远不会传递重置事件通知,并且glGetGraphicsResetStatus将始终返回GL_NO_ERROR。
如果该行为是GL_LOSE_CONTEXT_ON_RESET,则图形重置将导致所有上下文状态丢失,需要重新创建所有关联的对象。在这种情况下,glGetGraphicsResetStatus可能返回上