blob: 0a73af5a11bd292d46f33dc2632786eccec9b20a [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
Specification Update Policy
Khronos-approved extension specifications are updated in response to
issues and bugs prioritized by the Khronos OpenGL Working Group. For
extensions which have been promoted to a core Specification, fixes will
first appear in the latest version of that core Specification, and will
eventually be backported to the extension document. This policy is
described in more detail at
https://www.khronos.org/registry/OpenGL/docs/update_policy.php
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.