Name ARB_create_context_robustness Name Strings GLX_ARB_create_context_robustness Contact Jon Leech (jon 'at' alumni.caltech.edu) Status Complete. Approved by the ARB on June 9, 2010. Approved by the Khronos Board of Promoters on July 23, 2010. Version Version 3, 2010/07/22 Number ARB Extension #101 Dependencies GLX 1.4 is required. GLX_ARB_create_context is required. An OpenGL implementation supporting GL_ARB_robustness is required. Overview This extension allows creating an OpenGL context supporting robust buffer access behavior and a specified graphics reset notification behavior. IP Status No known IP claims. New Procedures and Functions None New Tokens Accepted as a bit in the attribute value for GLX_CONTEXT_FLAGS_ARB in the <*attrib_list> argument to glXCreateContextAttribsARB: GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 Accepted as an attribute name in the <*attrib_list> argument to glXCreateContextAttribsARB: GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 Accepted as an attribute value for GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB in the <*attrib_list> argument to glXCreateContextAttribsARB: GLX_NO_RESET_NOTIFICATION_ARB 0x8261 GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252 Additions to the OpenGL / WGL Specifications None. This specification is written for GLX. Additions to the GLX 1.4 Specification This extension modifies language specified in the GLX_ARB_create_context and GLX_ARB_create_context_profile extensions. In the description of glXCreateContextAttribsARB, insert a new paragraph before the paragraph "The default value of GLX_CONTEXT_FLAGS_ARB is 0.": "If the GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB bit is set in GLX_CONTEXT_FLAGS_ARB, then a context supporting will be created. Robust buffer access is defined in the GL_ARB_robustness extension specification, and the resulting context must also support either the GL_ARB_robustness extension, or a version of OpenGL incorporating equivalent functionality." Add a new paragraph to the description of glXCreateContextAttribsARB: "The attribute name GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB specifies the of the rendering context. Reset notification behavior is defined in the GL_ARB_robustness extension specification, and the resulting context must also support either the GL_ARB_robustness extension, or a version of OpenGL incorporating equivalent functionality. The attribute value may be either GLX_NO_RESET_NOTIFICATION_ARB or GLX_LOSE_CONTEXT_ON_RESET_ARB, which respectively result in reset notification behavior of GL_NO_RESET_NOTIFICATION_ARB and GL_LOSE_CONTEXT_ON_RESET_ARB, as described by GL_ARB_robustness. The default value for GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB is GLX_NO_RESET_NOTIFICATION_ARB." Add "robust buffer access flag" and "reset notification behavior" to the list of possible context creation errors resulting in a GLXBadFBConfig error in this sentence: "* If does not support compatible OpenGL contexts providing the requested API major and minor version, forward-compatible flag, and debug context flag, GLXBadFBConfig is generated." Add a new context creation error to glXCreateContextAttribsARB: "* If the reset notification behavior of and the newly created context are different, BadMatch is generated." GLX Errors None GLX Protocol None Errors GLXBadFBConfig is generated if GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB is set in attribute GLX_CONTEXT_FLAGS_ARB, and no GL context supporting the GL_ARB_robustness extension with robust buffer access enabled can be created. GLXBadFBConfig is generated if no GL context supporting the GL_ARB_robustness extension with the specified reset notification behavior (the value of attribute GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB) can be created. BadMatch is generated if the reset notification behavior of does not match the reset notification behavior of the context being created. New State None New Implementation Dependent State None Conformance Tests TBD Sample Code TBD Issues All non-window-system dependent issues described in the WGL_ARB_create_context_robustness extension specification apply equally to this extension. Revision History Version 3, 2010/07/22 - Assign enums for new tokens (shared with WGL and GL robustness extensions). Version 2, 2010/07/21 - Move reset notification behavior from a GL toggle to a context creation parameter. Disallow sharing contexts with different reset notification behaviors. Rename extension, since it's no longer only about robust buffer access. Version 1, 2010/06/06 - Initial version.