• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    WGL_ARB_robustness_isolation
4
5Name Strings
6
7    WGL_ARB_robustness_application_isolation
8    WGL_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:             5
44
45Number
46
47    ARB Extension #143
48
49Dependencies
50
51    WGL_ARB_extensions_string is required.
52
53    WGL_ARB_create_context_robustness is required.
54
55Overview
56
57    GL_ARB_robustness and WGL_ARB_create_context_robustness allow
58    creating an OpenGL context supporting graphics reset notification
59    behavior.  WGL_ARB_robustness_application_isolation and
60    WGL_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 WGL_CONTEXT_FLAGS_ARB
78    in the <*attrib_list> argument to wglCreateContextAttribsARB:
79
80        WGL_CONTEXT_RESET_ISOLATION_BIT_ARB             0x00000008
81
82Additions to the OpenGL / AGL / GLX Protocol Specificaitons
83
84    None. This specification is written for WGL.
85
86Additions to the WGL specification
87
88    Add the following new paragraphs to the description of
89    wglCreateContextAttribsARB, after that added by
90    WGL_ARB_create_context_robustness:
91
92    "If the application creates all of its OpenGL contexts with the
93    WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB attribute set to
94    WGL_LOSE_CONTEXT_ON_RESET_ARB, and the
95    WGL_CONTEXT_RESET_ISOLATION_BIT_ARB bit set, then:
96
97      If the graphics driver advertises the
98      WGL_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      WGL_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 is affected by
114         the graphics reset. Additionally, no other application on the
115         system is affected by the graphics reset.
116
117      2. No other share group within the application receives any
118         notification that the graphics reset occurred. Additionally,
119         no other application on the system receives any notification
120         that the graphics reset occurred.
121
122    The WGL_ARB_robustness_application_isolation and
123    WGL_ARB_robustness_share_group_isolation extensions do not provide
124    guarantees for graphics resets caused by applications which did
125    not create their contexts with both the LOSE_CONTEXT_ON_RESET_ARB
126    reset notification strategy and the
127    WGL_CONTEXT_RESET_ISOLATION_BIT_ARB bit."
128
129    Add a new context creation error to wglCreateContextAttribsARB:
130
131   "* If the reset isolation bits of <hShareContext> and the newly
132    created context are different, then
133    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB is generated."
134
135    Add to the description of wglShareLists:
136
137   "If the reset isolation bit of <hglrc1> and <hglrc2> are different,
138    then wglShareLists will return FALSE, and GetLastError will return
139    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB."
140
141Dependencies on WGL_ARB_extensions_string
142
143    Because there is no way to extend WGL, these calls are defined in
144    the ICD and can be called by obtaining the address with
145    wglGetProcAddress. Because this extension is a WGL extension, it is
146    not included in the GL_EXTENSIONS string. Its existence can be
147    determined with the WGL_ARB_extensions_string extension.
148
149Errors
150
151    ERROR_INVALID_PIXEL_FORMAT is generated if
152    WGL_CONTEXT_RESET_ISOLATION_BIT_ARB is set in attribute
153    WGL_CONTEXT_FLAGS_ARB, and no GL context supporting the
154    GL_ARB_robustness_isolation extension with either application or
155    share group isolation exists.
156
157    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB is generated by
158    wglCreateContextAttribsARB if the reset isolation bit of
159    <hShareContext> does not match the reset isolation bit of
160    the context being created.
161
162    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB is generated by wglShareLists
163    if the reset isolation bits of <hglrc1> and <hglrc2> are different.
164
165New State
166
167    None
168
169New Implementation Dependent State
170
171    None
172
173Conformance Tests
174
175    TBD
176
177Sample Code
178
179    TBD
180
181Issues
182
183    1) Do GPU vendors all agree that the share_group_isolation variant
184       is supportable? If so, we could drop the application_isolation
185       variant, which would simplify the spec.
186
187    2) How will these extension strings be handled and exposed on EGL
188       and Mac OS?
189
190Revision History
191
192    Rev.    Date       Author     Changes
193    ----  ------------ ---------  ----------------------------------------
194      1   18 Apr 2011  kbr        Initial version
195      2   28 Apr 2011  kbr        Renamed context_isolation to share_group_isolation
196      3   08 Jun 2011  kbr        Made guarantees conditional on using LOSE_CONTEXT_ON_RESET_ARB
197      4   17 Aug 2011  kbr        Renamed file to WGL_ARB_robustness_isolation
198      5   24 Apr 2012  kbr        Added GLX_CONTEXT_RESET_ISOLATION_BIT_ARB on feedback from Bill Licea-Kane
199      6   13 Aug 2012  Jon Leech  Renumbered from #146 to #143
200