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