GL context robustness modes

hi everyone,

i’m trying to figure out what “robustness” of a context means, my window creation library in GLFW and it allows 3 different modes:
– GLFW_LOSE_CONTEXT_ON_RESET
– GLFW_NO_RESET_NOTIFICATION
– GLFW_NO_ROBUSTNESS, which means it is not “robust”

whats the difference between the 2 other, “lose context on reset” and “no reset notification” ?
i’ve read about it in the 4.5 specs, but i didnt find anything about the 2 modes.

as far as i know, i can only query IF it is robust, but not the mode:

GLint contextflags = 0;
glGetIntegerv(GL_CONTEXT_FLAGS, &contextflags);
bool IsRobustAccessContext = contextflags & GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT;

thanks in advance!

GLFW is conflating two different concepts here (probably because they’re both defined by the ARB_robustness extension). Robustness is about avoiding out-of-bounds array access (buffer overruns). Reset notification is about recovery from hardware errors.

Specifying either mode (GLFW_LOSE_CONTEXT_ON_RESET or GLFW_NO_RESET_NOTIFICATION) causes robustness to be enabled for the context. If you specify GLFW_LOSE_CONTEXT_ON_RESET, you can use glGetGraphicsResetStatus() to determine when a reset has occurred, and why.