• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    ARB_create_context_robustness
4
5Name Strings
6
7    GLX_ARB_create_context_robustness
8
9Contact
10
11    Jon Leech (jon 'at' alumni.caltech.edu)
12
13Notice
14
15    Copyright (c) 2010-2013 The Khronos Group Inc. Copyright terms at
16        http://www.khronos.org/registry/speccopyright.html
17
18Specification Update Policy
19
20    Khronos-approved extension specifications are updated in response to
21    issues and bugs prioritized by the Khronos OpenGL Working Group. For
22    extensions which have been promoted to a core Specification, fixes will
23    first appear in the latest version of that core Specification, and will
24    eventually be backported to the extension document. This policy is
25    described in more detail at
26        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
27
28Status
29
30    Complete. Approved by the ARB on June 9, 2010.
31    Approved by the Khronos Board of Promoters on July 23, 2010.
32
33Version
34
35    Version 3, 2010/07/22
36
37Number
38
39    ARB Extension #101
40
41Dependencies
42
43    GLX 1.4 is required.
44
45    GLX_ARB_create_context is required.
46
47    An OpenGL implementation supporting GL_ARB_robustness is required.
48
49Overview
50
51    This extension allows creating an OpenGL context supporting robust
52    buffer access behavior and a specified graphics reset notification
53    behavior.
54
55IP Status
56
57    No known IP claims.
58
59New Procedures and Functions
60
61    None
62
63New Tokens
64
65    Accepted as a bit in the attribute value for GLX_CONTEXT_FLAGS_ARB
66    in the <*attrib_list> argument to glXCreateContextAttribsARB:
67
68        GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB       0x00000004
69
70    Accepted as an attribute name in the <*attrib_list> argument to
71    glXCreateContextAttribsARB:
72
73        GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB     0x8256
74
75    Accepted as an attribute value for
76    GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB in the <*attrib_list>
77    argument to glXCreateContextAttribsARB:
78
79        GLX_NO_RESET_NOTIFICATION_ARB                   0x8261
80        GLX_LOSE_CONTEXT_ON_RESET_ARB                   0x8252
81
82Additions to the OpenGL / WGL Specifications
83
84    None. This specification is written for GLX.
85
86Additions to the GLX 1.4 Specification
87
88    This extension modifies language specified in the
89    GLX_ARB_create_context and GLX_ARB_create_context_profile
90    extensions.
91
92    In the description of glXCreateContextAttribsARB, insert a new
93    paragraph before the paragraph "The default value of
94    GLX_CONTEXT_FLAGS_ARB is 0.":
95
96   "If the GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB bit is set in
97    GLX_CONTEXT_FLAGS_ARB, then a context supporting <robust buffer
98    access> will be created. Robust buffer access is defined in the
99    GL_ARB_robustness extension specification, and the resulting context
100    must also support either the GL_ARB_robustness extension, or a
101    version of OpenGL incorporating equivalent functionality."
102
103    Add a new paragraph to the description of
104    glXCreateContextAttribsARB:
105
106   "The attribute name GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
107    specifies the <reset notification behavior> of the rendering
108    context. Reset notification behavior is defined in the
109    GL_ARB_robustness extension specification, and the resulting context
110    must also support either the GL_ARB_robustness extension, or a
111    version of OpenGL incorporating equivalent functionality. The
112    attribute value may be either GLX_NO_RESET_NOTIFICATION_ARB or
113    GLX_LOSE_CONTEXT_ON_RESET_ARB, which respectively result in reset
114    notification behavior of GL_NO_RESET_NOTIFICATION_ARB and
115    GL_LOSE_CONTEXT_ON_RESET_ARB, as described by GL_ARB_robustness. The
116    default value for GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB is
117    GLX_NO_RESET_NOTIFICATION_ARB."
118
119    Add "robust buffer access flag" and "reset notification behavior" to
120    the list of possible context creation errors resulting in a
121    GLXBadFBConfig error in this sentence:
122
123   "* If <config> does not support compatible OpenGL contexts providing
124    the requested API major and minor version, forward-compatible flag,
125    and debug context flag, GLXBadFBConfig is generated."
126
127    Add a new context creation error to glXCreateContextAttribsARB:
128
129   "* If the reset notification behavior of <share_context> and the
130    newly created context are different, BadMatch is generated."
131
132GLX Errors
133
134    None
135
136GLX Protocol
137
138    None
139
140Errors
141
142    GLXBadFBConfig is generated if GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB is
143    set in attribute GLX_CONTEXT_FLAGS_ARB, and no GL context supporting
144    the GL_ARB_robustness extension with robust buffer access enabled
145    can be created.
146
147    GLXBadFBConfig is generated if no GL context supporting the
148    GL_ARB_robustness extension with the specified reset notification
149    behavior (the value of attribute
150    GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB) can be created.
151
152    BadMatch is generated if the reset notification behavior of
153    <share_context> does not match the reset notification behavior of
154    the context being created.
155
156New State
157
158    None
159
160New Implementation Dependent State
161
162    None
163
164Conformance Tests
165
166    TBD
167
168Sample Code
169
170    TBD
171
172Issues
173
174    All non-window-system dependent issues described in the
175    WGL_ARB_create_context_robustness extension specification apply
176    equally to this extension.
177
178Revision History
179
180    Version 3, 2010/07/22 - Assign enums for new tokens (shared with WGL and
181    GL robustness extensions).
182
183    Version 2, 2010/07/21 - Move reset notification behavior from a GL
184    toggle to a context creation parameter. Disallow sharing contexts
185    with different reset notification behaviors. Rename extension, since
186    it's no longer only about robust buffer access.
187
188    Version 1, 2010/06/06 - Initial version.
189