gfx/angle/extensions/EGL_EXT_create_context_robustness.txt

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/angle/extensions/EGL_EXT_create_context_robustness.txt	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,169 @@
     1.4 +Name
     1.5 +
     1.6 +    EXT_create_context_robustness
     1.7 +
     1.8 +Name Strings
     1.9 +
    1.10 +    EGL_EXT_create_context_robustness
    1.11 +
    1.12 +Contributors
    1.13 +
    1.14 +    Daniel Koch, TransGaming
    1.15 +    Contributors to EGL_KHR_create_context
    1.16 +
    1.17 +Contact
    1.18 +
    1.19 +    Greg Roth (groth 'at' nvidia.com)
    1.20 +
    1.21 +Status
    1.22 +
    1.23 +    Complete.
    1.24 +
    1.25 +Version
    1.26 +
    1.27 +    Version 3, 2011/10/31
    1.28 +
    1.29 +Number
    1.30 +
    1.31 +    EGL Extension #37
    1.32 +
    1.33 +Dependencies
    1.34 +
    1.35 +    Requires EGL 1.4
    1.36 +
    1.37 +    Written against the EGL 1.4 specification.
    1.38 +
    1.39 +    An OpenGL implementation supporting GL_ARB_robustness, an OpenGL ES
    1.40 +    implementation supporting GL_EXT_robustness, or an implementation
    1.41 +    supporting equivalent functionality is required.
    1.42 +
    1.43 +Overview
    1.44 +
    1.45 +    This extension allows creating an OpenGL or OpenGL ES context
    1.46 +    supporting robust buffer access behavior and a specified graphics
    1.47 +    reset notification behavior.
    1.48 +
    1.49 +New Procedures and Functions
    1.50 +
    1.51 +    None
    1.52 +
    1.53 +New Tokens
    1.54 +
    1.55 +    Accepted as an attribute name in the <*attrib_list> argument to
    1.56 +    eglCreateContext:
    1.57 +
    1.58 +        EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT    0x30BF
    1.59 +        EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT  0x3138
    1.60 +
    1.61 +    Accepted as an attribute value for EGL_CONTEXT_RESET_NOTIFICATION_-
    1.62 +    STRATEGY_EXT in the <*attrib_list> argument to eglCreateContext:
    1.63 +
    1.64 +        EGL_NO_RESET_NOTIFICATION_EXT           0x31BE
    1.65 +        EGL_LOSE_CONTEXT_ON_RESET_EXT           0x31BF
    1.66 +
    1.67 +Additions to the EGL 1.4 Specification
    1.68 +
    1.69 +    Replace section 3.7.1 "Creating Rendering Contexts" from the
    1.70 +    fifth paragraph through the seventh paragraph:
    1.71 +
    1.72 +    <attrib_list> specifies a list of attributes for the context. The
    1.73 +    list has the same structure as described for eglChooseConfig. If an
    1.74 +    attribute is not specified in <attrib_list>, then the default value
    1.75 +    specified below is used instead. <attrib_list> may be NULL or empty
    1.76 +    (first attribute is EGL_NONE), in which case attributes assume their
    1.77 +    default values as described below. Most attributes are only meaningful
    1.78 +    for specific client APIs, and will generate an EGL_BAD_ATTRIBUTE
    1.79 +    error when specified to create for another client API context.
    1.80 +
    1.81 +    Context Versions
    1.82 +    ----------------
    1.83 +
    1.84 +    EGL_CONTEXT_CLIENT_VERSION determines which version of an OpenGL ES
    1.85 +    context to create. This attribute may only be specified when creating
    1.86 +    an OpenGL ES context (e.g. when the current rendering API is
    1.87 +    EGL_OPENGL_ES_API). An attribute value of 1 specifies creation of an
    1.88 +    OpenGL ES 1.x context.  An attribute value of 2 specifies creation of an
    1.89 +    Open GL ES 2.x context. The default value for EGL_CONTEXT_CLIENT_VERSION
    1.90 +    is 1.
    1.91 +
    1.92 +    Context Robust Access
    1.93 +    -------------
    1.94 +
    1.95 +    EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT indicates whether <robust buffer
    1.96 +    access> should be enabled for the OpenGL ES context. Robust buffer
    1.97 +    access is defined in the GL_EXT_robustness extension specification,
    1.98 +    and the resulting context must support GL_EXT_robustness and robust
    1.99 +    buffer access as described therein. The default value of
   1.100 +    EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT is EGL_FALSE.
   1.101 +
   1.102 +    Context Reset Notification
   1.103 +    --------------------------
   1.104 +
   1.105 +    The attribute name EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_-
   1.106 +    EXT specifies the <reset notification behavior> of the rendering
   1.107 +    context. This attribute is only meaningful for OpenGL ES contexts,
   1.108 +    and specifying it for other types of contexts will generate an
   1.109 +    EGL_BAD_ATTRIBUTE error.
   1.110 +
   1.111 +    Reset notification behavior is defined in the GL_EXT_robustness
   1.112 +    extension for OpenGL ES, and the resulting context must support
   1.113 +    GL_EXT_robustness and the specified reset strategy. The attribute
   1.114 +    value may be either EGL_NO_RESET_NOTIFICATION_EXT or EGL_LOSE_-
   1.115 +    CONTEXT_ON_RESET_EXT, which respectively result in disabling
   1.116 +    delivery of reset notifications or the loss of all context state
   1.117 +    upon reset notification as described by the GL_EXT_robustness. The
   1.118 +    default value for EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT
   1.119 +    is EGL_NO_RESET_NOTIFICATION_EXT.
   1.120 +    
   1.121 +    Add to the eglCreateContext context creation errors:
   1.122 +
   1.123 +    * If <config> does not support a client API context compatible
   1.124 +      with the requested context flags and context reset notification
   1.125 +      behavior (for client API types where these attributes are
   1.126 +      supported), then an EGL_BAD_CONFIG error is generated.
   1.127 +
   1.128 +    * If the reset notification behavior of <share_context> and the
   1.129 +      newly created context are different then an EGL_BAD_MATCH error is
   1.130 +      generated.
   1.131 +
   1.132 +
   1.133 +Errors
   1.134 +
   1.135 +    EGL_BAD_CONFIG is generated if EGL_CONTEXT_OPENGL_ROBUST_ACCESS_-
   1.136 +    EXT is set to EGL_TRUE and no GL context supporting the GL_EXT_-
   1.137 +    robustness extension and robust access as described therein can be
   1.138 +    created.
   1.139 +
   1.140 +    EGL_BAD_CONFIG is generated if no GL context supporting the
   1.141 +    GL_EXT_robustness extension and the specified reset notification
   1.142 +    behavior (the value of attribute EGL_CONTEXT_RESET_NOTIFICATION_-
   1.143 +    STRATEGY_EXT) can be created.
   1.144 +
   1.145 +    BAD_MATCH is generated if the reset notification behavior of
   1.146 +    <share_context> does not match the reset notification behavior of
   1.147 +    the context being created.
   1.148 +
   1.149 +New State
   1.150 +
   1.151 +    None
   1.152 +
   1.153 +Conformance Tests
   1.154 +
   1.155 +    TBD
   1.156 +
   1.157 +Sample Code
   1.158 +
   1.159 +    TBD
   1.160 +
   1.161 +Issues
   1.162 +
   1.163 +    None
   1.164 +
   1.165 +Revision History
   1.166 +
   1.167 +    Rev.    Date       Author     Changes
   1.168 +    ----  ------------ ---------  ----------------------------------------
   1.169 +      3   31 Oct  2011 groth      Reverted to attribute for robust access. Now it's a
   1.170 +                                  companion to rather than subset of KHR_create_context
   1.171 +      2   11 Oct  2011 groth      Merged ANGLE and NV extensions.
   1.172 +      1   15 July 2011 groth      Initial version

mercurial