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