blob: 4114f514605dcbb97995a4bc18058bf2496c3734 [file] [log] [blame]
Name
ARB_create_context_robustness
Name Strings
GLX_ARB_create_context_robustness
Contact
Jon Leech (jon 'at' alumni.caltech.edu)
Notice
Copyright (c) 2010-2013 The Khronos Group Inc. Copyright terms at
http://www.khronos.org/registry/speccopyright.html
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 <robust buffer
access> 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 <reset notification behavior> 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 <config> 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 <share_context> 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
<share_context> 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.