15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_create_context_robustness
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GLX_ARB_create_context_robustness
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Jon Leech (jon 'at' alumni.caltech.edu)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2010-2013 The Khronos Group Inc. Copyright terms at
165bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciSpecification Update Policy
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
215bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
225bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
235bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
245bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
255bd8deadSopenharmony_ci    described in more detail at
265bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ciStatus
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ci    Complete. Approved by the ARB on June 9, 2010.
315bd8deadSopenharmony_ci    Approved by the Khronos Board of Promoters on July 23, 2010.
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ciVersion
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ci    Version 3, 2010/07/22
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciNumber
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    ARB Extension #101
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ciDependencies
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci    GLX 1.4 is required.
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci    GLX_ARB_create_context is required.
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    An OpenGL implementation supporting GL_ARB_robustness is required.
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ciOverview
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    This extension allows creating an OpenGL context supporting robust
525bd8deadSopenharmony_ci    buffer access behavior and a specified graphics reset notification
535bd8deadSopenharmony_ci    behavior.
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ciIP Status
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci    No known IP claims.
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ciNew Procedures and Functions
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    None
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ciNew Tokens
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    Accepted as a bit in the attribute value for GLX_CONTEXT_FLAGS_ARB
665bd8deadSopenharmony_ci    in the <*attrib_list> argument to glXCreateContextAttribsARB:
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci        GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB       0x00000004
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    Accepted as an attribute name in the <*attrib_list> argument to
715bd8deadSopenharmony_ci    glXCreateContextAttribsARB:
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci        GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB     0x8256
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    Accepted as an attribute value for
765bd8deadSopenharmony_ci    GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB in the <*attrib_list>
775bd8deadSopenharmony_ci    argument to glXCreateContextAttribsARB:
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci        GLX_NO_RESET_NOTIFICATION_ARB                   0x8261
805bd8deadSopenharmony_ci        GLX_LOSE_CONTEXT_ON_RESET_ARB                   0x8252
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ciAdditions to the OpenGL / WGL Specifications
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci    None. This specification is written for GLX.
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ciAdditions to the GLX 1.4 Specification
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    This extension modifies language specified in the
895bd8deadSopenharmony_ci    GLX_ARB_create_context and GLX_ARB_create_context_profile
905bd8deadSopenharmony_ci    extensions.
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    In the description of glXCreateContextAttribsARB, insert a new
935bd8deadSopenharmony_ci    paragraph before the paragraph "The default value of
945bd8deadSopenharmony_ci    GLX_CONTEXT_FLAGS_ARB is 0.":
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci   "If the GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB bit is set in
975bd8deadSopenharmony_ci    GLX_CONTEXT_FLAGS_ARB, then a context supporting <robust buffer
985bd8deadSopenharmony_ci    access> will be created. Robust buffer access is defined in the
995bd8deadSopenharmony_ci    GL_ARB_robustness extension specification, and the resulting context
1005bd8deadSopenharmony_ci    must also support either the GL_ARB_robustness extension, or a
1015bd8deadSopenharmony_ci    version of OpenGL incorporating equivalent functionality."
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci    Add a new paragraph to the description of
1045bd8deadSopenharmony_ci    glXCreateContextAttribsARB:
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci   "The attribute name GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
1075bd8deadSopenharmony_ci    specifies the <reset notification behavior> of the rendering
1085bd8deadSopenharmony_ci    context. Reset notification behavior is defined in the
1095bd8deadSopenharmony_ci    GL_ARB_robustness extension specification, and the resulting context
1105bd8deadSopenharmony_ci    must also support either the GL_ARB_robustness extension, or a
1115bd8deadSopenharmony_ci    version of OpenGL incorporating equivalent functionality. The
1125bd8deadSopenharmony_ci    attribute value may be either GLX_NO_RESET_NOTIFICATION_ARB or
1135bd8deadSopenharmony_ci    GLX_LOSE_CONTEXT_ON_RESET_ARB, which respectively result in reset
1145bd8deadSopenharmony_ci    notification behavior of GL_NO_RESET_NOTIFICATION_ARB and
1155bd8deadSopenharmony_ci    GL_LOSE_CONTEXT_ON_RESET_ARB, as described by GL_ARB_robustness. The
1165bd8deadSopenharmony_ci    default value for GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB is
1175bd8deadSopenharmony_ci    GLX_NO_RESET_NOTIFICATION_ARB."
1185bd8deadSopenharmony_ci
1195bd8deadSopenharmony_ci    Add "robust buffer access flag" and "reset notification behavior" to
1205bd8deadSopenharmony_ci    the list of possible context creation errors resulting in a
1215bd8deadSopenharmony_ci    GLXBadFBConfig error in this sentence:
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ci   "* If <config> does not support compatible OpenGL contexts providing
1245bd8deadSopenharmony_ci    the requested API major and minor version, forward-compatible flag,
1255bd8deadSopenharmony_ci    and debug context flag, GLXBadFBConfig is generated."
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    Add a new context creation error to glXCreateContextAttribsARB:
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci   "* If the reset notification behavior of <share_context> and the
1305bd8deadSopenharmony_ci    newly 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_ROBUST_ACCESS_BIT_ARB is
1435bd8deadSopenharmony_ci    set in attribute GLX_CONTEXT_FLAGS_ARB, and no GL context supporting
1445bd8deadSopenharmony_ci    the GL_ARB_robustness extension with robust buffer access enabled
1455bd8deadSopenharmony_ci    can be created.
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    GLXBadFBConfig is generated if no GL context supporting the
1485bd8deadSopenharmony_ci    GL_ARB_robustness extension with the specified reset notification
1495bd8deadSopenharmony_ci    behavior (the value of attribute
1505bd8deadSopenharmony_ci    GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB) can be created.
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci    BadMatch is generated if the reset notification behavior of
1535bd8deadSopenharmony_ci    <share_context> does not match the reset notification behavior of
1545bd8deadSopenharmony_ci    the context being created.
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ciNew State
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ci    None
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ciNew Implementation Dependent State
1615bd8deadSopenharmony_ci
1625bd8deadSopenharmony_ci    None
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ciConformance Tests
1655bd8deadSopenharmony_ci
1665bd8deadSopenharmony_ci    TBD
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ciSample Code
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci    TBD
1715bd8deadSopenharmony_ci
1725bd8deadSopenharmony_ciIssues
1735bd8deadSopenharmony_ci
1745bd8deadSopenharmony_ci    All non-window-system dependent issues described in the
1755bd8deadSopenharmony_ci    WGL_ARB_create_context_robustness extension specification apply
1765bd8deadSopenharmony_ci    equally to this extension.
1775bd8deadSopenharmony_ci
1785bd8deadSopenharmony_ciRevision History
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ci    Version 3, 2010/07/22 - Assign enums for new tokens (shared with WGL and
1815bd8deadSopenharmony_ci    GL robustness extensions).
1825bd8deadSopenharmony_ci
1835bd8deadSopenharmony_ci    Version 2, 2010/07/21 - Move reset notification behavior from a GL
1845bd8deadSopenharmony_ci    toggle to a context creation parameter. Disallow sharing contexts
1855bd8deadSopenharmony_ci    with different reset notification behaviors. Rename extension, since
1865bd8deadSopenharmony_ci    it's no longer only about robust buffer access.
1875bd8deadSopenharmony_ci
1885bd8deadSopenharmony_ci    Version 1, 2010/06/06 - Initial version.
189