• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    GLX_ARB_robustness_isolation
4
5Name Strings
6
7    GLX_ARB_robustness_application_isolation
8    GLX_ARB_robustness_share_group_isolation
9
10Contributors
11
12    Tim Johansson, Opera (timj 'at' opera.com)
13    Bill Licea-Kane (bill.licea-kane 'at' amd.com)
14    <TBD>
15
16Contact
17
18    Kenneth Russell, Google (kbr 'at' google.com)
19
20Notice
21
22    Copyright (c) 2012-2013 The Khronos Group Inc. Copyright terms at
23        http://www.khronos.org/registry/speccopyright.html
24
25Specification Update Policy
26
27    Khronos-approved extension specifications are updated in response to
28    issues and bugs prioritized by the Khronos OpenGL Working Group. For
29    extensions which have been promoted to a core Specification, fixes will
30    first appear in the latest version of that core Specification, and will
31    eventually be backported to the extension document. This policy is
32    described in more detail at
33        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
34
35Status
36
37    Complete.
38    Approved by the ARB on 2012/06/12.
39
40Version
41
42    Last Modified Date:  August 13, 2012
43    Version:             6
44
45Number
46
47    ARB Extension #142
48
49Dependencies
50
51    GLX 1.4 is required.
52
53    GLX_ARB_create_context_robustness is required.
54
55Overview
56
57    GL_ARB_robustness and GLX_ARB_create_context_robustness allow
58    creating an OpenGL context supporting graphics reset notification
59    behavior.  GLX_ARB_robustness_application_isolation and
60    GLX_ARB_robustness_share_group_isolation provide stronger
61    guarantees about the possible side-effects of a graphics reset.
62
63IP Status
64
65    No known IP claims.
66
67New Procedures and Functions
68
69    None.
70
71New Types
72
73    None.
74
75New Tokens
76
77    Accepted as a bit in the attribute value for GLX_CONTEXT_FLAGS_ARB
78    in the <*attrib_list> argument to glXCreateContextAttribsARB:
79
80        GLX_CONTEXT_RESET_ISOLATION_BIT_ARB             0x00000008
81
82Additions to the OpenGL / AGL / WGL Specifications
83
84    None. This specification is written for GLX.
85
86Additions to the GLX specification
87
88    Add the following new paragraphs to the description of
89    glXCreateContextAttribsARB, after that added by
90    GLX_ARB_create_context_robustness:
91
92    "If the application creates all of its OpenGL contexts with the
93    GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB attribute set to
94    GLX_LOSE_CONTEXT_ON_RESET_ARB, and the
95    GLX_CONTEXT_RESET_ISOLATION_BIT_ARB bit set, then:
96
97      If the graphics driver advertises the
98      GLX_ARB_robustness_application_isolation extension string, then
99      the driver guarantees that if a particular application causes a
100      graphics reset to occur:
101
102      1. No other application on the system is affected by the
103         graphics reset.
104
105      2. No other application on the system receives any notification
106         that the graphics reset occurred.
107
108      If the graphics driver advertises the
109      GLX_ARB_robustness_share_group_isolation extension string, then
110      the driver guarantees that if a context in a particular share
111      group causes a graphics reset to occur:
112
113      1. No other share group within the application, nor any other
114         application on the system, is affected by the graphics reset.
115
116      2. No other share group within the application, nor any other
117         application on the system, receives any notification that the
118         graphics reset occurred.
119
120    The GLX_ARB_robustness_application_isolation and
121    GLX_ARB_robustness_share_group_isolation extensions do not provide
122    guarantees for graphics resets caused by applications which did
123    not create their contexts with both the LOSE_CONTEXT_ON_RESET_ARB
124    reset notification strategy and the
125    GLX_CONTEXT_RESET_ISOLATION_BIT_ARB bit."
126
127    Add a new context creation error to glXCreateContextAttribsARB:
128
129   "* If the reset isolation bits of <share_context> and the newly
130    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_RESET_ISOLATION_BIT_ARB
143    is set in attribute GLX_CONTEXT_FLAGS_ARB, and no GL context
144    supporting the GL_ARB_robustness_isolation extension with either
145    application or share group isolation can be created.
146
147    BadMatch is generated if the reset isolation bit of
148    <share_context> does not match the reset isolation bit of the
149    context being created.
150
151New State
152
153    None
154
155New Implementation Dependent State
156
157    None
158
159Conformance Tests
160
161    TBD
162
163Sample Code
164
165    TBD
166
167Issues
168
169    1) Do GPU vendors all agree that the share_group_isolation variant
170       is supportable? If so, we could drop the application_isolation
171       variant, which would simplify the spec.
172
173    2) How will these extension strings be handled and exposed on EGL
174       and Mac OS?
175
176Revision History
177
178    Rev.    Date       Author     Changes
179    ----  ------------ ---------  ----------------------------------------
180      1   18 Apr 2011  kbr        Initial version
181      2   28 Apr 2011  kbr        Renamed context_isolation to share_group_isolation
182      3   08 Jun 2011  kbr        Made guarantees conditional on using LOSE_CONTEXT_ON_RESET_ARB
183      4   17 Aug 2011  kbr        Renamed file to GLX_ARB_robustness_isolation
184      5   24 Apr 2012  kbr        Added GLX_CONTEXT_RESET_ISOLATION_BIT_ARB on feedback from Bill Licea-Kane
185      6   08 Aug 2012  Jon Leech  Renumbered from #145 to #142
186