15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    GLX_ARB_robustness_isolation
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GLX_ARB_robustness_application_isolation
85bd8deadSopenharmony_ci    GLX_ARB_robustness_share_group_isolation
95bd8deadSopenharmony_ci
105bd8deadSopenharmony_ciContributors
115bd8deadSopenharmony_ci
125bd8deadSopenharmony_ci    Tim Johansson, Opera (timj 'at' opera.com)
135bd8deadSopenharmony_ci    Bill Licea-Kane (bill.licea-kane 'at' amd.com)
145bd8deadSopenharmony_ci    <TBD>
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ciContact
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ci    Kenneth Russell, Google (kbr 'at' google.com)
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ciNotice
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ci    Copyright (c) 2012-2013 The Khronos Group Inc. Copyright terms at
235bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciSpecification Update Policy
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
285bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
295bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
305bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
315bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
325bd8deadSopenharmony_ci    described in more detail at
335bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciStatus
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    Complete.
385bd8deadSopenharmony_ci    Approved by the ARB on 2012/06/12.
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciVersion
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    Last Modified Date:  August 13, 2012
435bd8deadSopenharmony_ci    Version:             6
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ciNumber
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    ARB Extension #142
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ciDependencies
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    GLX 1.4 is required.
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ci    GLX_ARB_create_context_robustness is required.
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ciOverview
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci    GL_ARB_robustness and GLX_ARB_create_context_robustness allow
585bd8deadSopenharmony_ci    creating an OpenGL context supporting graphics reset notification
595bd8deadSopenharmony_ci    behavior.  GLX_ARB_robustness_application_isolation and
605bd8deadSopenharmony_ci    GLX_ARB_robustness_share_group_isolation provide stronger
615bd8deadSopenharmony_ci    guarantees about the possible side-effects of a graphics reset.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ciIP Status
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    No known IP claims.
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ciNew Procedures and Functions
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ci    None.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ciNew Types
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    None.
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ciNew Tokens
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci    Accepted as a bit in the attribute value for GLX_CONTEXT_FLAGS_ARB
785bd8deadSopenharmony_ci    in the <*attrib_list> argument to glXCreateContextAttribsARB:
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci        GLX_CONTEXT_RESET_ISOLATION_BIT_ARB             0x00000008    
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ciAdditions to the OpenGL / AGL / WGL Specifications
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci    None. This specification is written for GLX.
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ciAdditions to the GLX specification
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    Add the following new paragraphs to the description of
895bd8deadSopenharmony_ci    glXCreateContextAttribsARB, after that added by
905bd8deadSopenharmony_ci    GLX_ARB_create_context_robustness:
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    "If the application creates all of its OpenGL contexts with the
935bd8deadSopenharmony_ci    GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB attribute set to
945bd8deadSopenharmony_ci    GLX_LOSE_CONTEXT_ON_RESET_ARB, and the
955bd8deadSopenharmony_ci    GLX_CONTEXT_RESET_ISOLATION_BIT_ARB bit set, then:
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci      If the graphics driver advertises the
985bd8deadSopenharmony_ci      GLX_ARB_robustness_application_isolation extension string, then
995bd8deadSopenharmony_ci      the driver guarantees that if a particular application causes a
1005bd8deadSopenharmony_ci      graphics reset to occur:
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci      1. No other application on the system is affected by the
1035bd8deadSopenharmony_ci         graphics reset.
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ci      2. No other application on the system receives any notification
1065bd8deadSopenharmony_ci         that the graphics reset occurred.
1075bd8deadSopenharmony_ci    
1085bd8deadSopenharmony_ci      If the graphics driver advertises the
1095bd8deadSopenharmony_ci      GLX_ARB_robustness_share_group_isolation extension string, then
1105bd8deadSopenharmony_ci      the driver guarantees that if a context in a particular share
1115bd8deadSopenharmony_ci      group causes a graphics reset to occur:
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci      1. No other share group within the application, nor any other
1145bd8deadSopenharmony_ci         application on the system, is affected by the graphics reset.
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci      2. No other share group within the application, nor any other
1175bd8deadSopenharmony_ci         application on the system, receives any notification that the
1185bd8deadSopenharmony_ci         graphics reset occurred.
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci    The GLX_ARB_robustness_application_isolation and
1215bd8deadSopenharmony_ci    GLX_ARB_robustness_share_group_isolation extensions do not provide
1225bd8deadSopenharmony_ci    guarantees for graphics resets caused by applications which did
1235bd8deadSopenharmony_ci    not create their contexts with both the LOSE_CONTEXT_ON_RESET_ARB
1245bd8deadSopenharmony_ci    reset notification strategy and the
1255bd8deadSopenharmony_ci    GLX_CONTEXT_RESET_ISOLATION_BIT_ARB bit."
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    Add a new context creation error to glXCreateContextAttribsARB:
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci   "* If the reset isolation bits of <share_context> and the newly
1305bd8deadSopenharmony_ci    created context are different, BadMatch is generated."
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ciGLX Errors
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    None
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ciGLX Protocol
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    None
1395bd8deadSopenharmony_ci
1405bd8deadSopenharmony_ciErrors
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci    GLXBadFBConfig is generated if GLX_CONTEXT_RESET_ISOLATION_BIT_ARB
1435bd8deadSopenharmony_ci    is set in attribute GLX_CONTEXT_FLAGS_ARB, and no GL context
1445bd8deadSopenharmony_ci    supporting the GL_ARB_robustness_isolation extension with either
1455bd8deadSopenharmony_ci    application or share group isolation can be created.
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    BadMatch is generated if the reset isolation bit of
1485bd8deadSopenharmony_ci    <share_context> does not match the reset isolation bit of the
1495bd8deadSopenharmony_ci    context being created.
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ciNew State
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ci    None
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ciNew Implementation Dependent State
1565bd8deadSopenharmony_ci
1575bd8deadSopenharmony_ci    None
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ciConformance Tests
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci    TBD
1625bd8deadSopenharmony_ci
1635bd8deadSopenharmony_ciSample Code
1645bd8deadSopenharmony_ci
1655bd8deadSopenharmony_ci    TBD
1665bd8deadSopenharmony_ci
1675bd8deadSopenharmony_ciIssues
1685bd8deadSopenharmony_ci
1695bd8deadSopenharmony_ci    1) Do GPU vendors all agree that the share_group_isolation variant
1705bd8deadSopenharmony_ci       is supportable? If so, we could drop the application_isolation
1715bd8deadSopenharmony_ci       variant, which would simplify the spec.
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ci    2) How will these extension strings be handled and exposed on EGL
1745bd8deadSopenharmony_ci       and Mac OS?
1755bd8deadSopenharmony_ci
1765bd8deadSopenharmony_ciRevision History
1775bd8deadSopenharmony_ci
1785bd8deadSopenharmony_ci    Rev.    Date       Author     Changes
1795bd8deadSopenharmony_ci    ----  ------------ ---------  ----------------------------------------
1805bd8deadSopenharmony_ci      1   18 Apr 2011  kbr        Initial version
1815bd8deadSopenharmony_ci      2   28 Apr 2011  kbr        Renamed context_isolation to share_group_isolation
1825bd8deadSopenharmony_ci      3   08 Jun 2011  kbr        Made guarantees conditional on using LOSE_CONTEXT_ON_RESET_ARB
1835bd8deadSopenharmony_ci      4   17 Aug 2011  kbr        Renamed file to GLX_ARB_robustness_isolation
1845bd8deadSopenharmony_ci      5   24 Apr 2012  kbr        Added GLX_CONTEXT_RESET_ISOLATION_BIT_ARB on feedback from Bill Licea-Kane
1855bd8deadSopenharmony_ci      6   08 Aug 2012  Jon Leech  Renumbered from #145 to #142
186