gfx/angle/extensions/EGL_EXT_create_context_robustness.txt

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 Name
     3     EXT_create_context_robustness
     5 Name Strings
     7     EGL_EXT_create_context_robustness
     9 Contributors
    11     Daniel Koch, TransGaming
    12     Contributors to EGL_KHR_create_context
    14 Contact
    16     Greg Roth (groth 'at' nvidia.com)
    18 Status
    20     Complete.
    22 Version
    24     Version 3, 2011/10/31
    26 Number
    28     EGL Extension #37
    30 Dependencies
    32     Requires EGL 1.4
    34     Written against the EGL 1.4 specification.
    36     An OpenGL implementation supporting GL_ARB_robustness, an OpenGL ES
    37     implementation supporting GL_EXT_robustness, or an implementation
    38     supporting equivalent functionality is required.
    40 Overview
    42     This extension allows creating an OpenGL or OpenGL ES context
    43     supporting robust buffer access behavior and a specified graphics
    44     reset notification behavior.
    46 New Procedures and Functions
    48     None
    50 New Tokens
    52     Accepted as an attribute name in the <*attrib_list> argument to
    53     eglCreateContext:
    55         EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT    0x30BF
    56         EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT  0x3138
    58     Accepted as an attribute value for EGL_CONTEXT_RESET_NOTIFICATION_-
    59     STRATEGY_EXT in the <*attrib_list> argument to eglCreateContext:
    61         EGL_NO_RESET_NOTIFICATION_EXT           0x31BE
    62         EGL_LOSE_CONTEXT_ON_RESET_EXT           0x31BF
    64 Additions to the EGL 1.4 Specification
    66     Replace section 3.7.1 "Creating Rendering Contexts" from the
    67     fifth paragraph through the seventh paragraph:
    69     <attrib_list> specifies a list of attributes for the context. The
    70     list has the same structure as described for eglChooseConfig. If an
    71     attribute is not specified in <attrib_list>, then the default value
    72     specified below is used instead. <attrib_list> may be NULL or empty
    73     (first attribute is EGL_NONE), in which case attributes assume their
    74     default values as described below. Most attributes are only meaningful
    75     for specific client APIs, and will generate an EGL_BAD_ATTRIBUTE
    76     error when specified to create for another client API context.
    78     Context Versions
    79     ----------------
    81     EGL_CONTEXT_CLIENT_VERSION determines which version of an OpenGL ES
    82     context to create. This attribute may only be specified when creating
    83     an OpenGL ES context (e.g. when the current rendering API is
    84     EGL_OPENGL_ES_API). An attribute value of 1 specifies creation of an
    85     OpenGL ES 1.x context.  An attribute value of 2 specifies creation of an
    86     Open GL ES 2.x context. The default value for EGL_CONTEXT_CLIENT_VERSION
    87     is 1.
    89     Context Robust Access
    90     -------------
    92     EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT indicates whether <robust buffer
    93     access> should be enabled for the OpenGL ES context. Robust buffer
    94     access is defined in the GL_EXT_robustness extension specification,
    95     and the resulting context must support GL_EXT_robustness and robust
    96     buffer access as described therein. The default value of
    97     EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT is EGL_FALSE.
    99     Context Reset Notification
   100     --------------------------
   102     The attribute name EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_-
   103     EXT specifies the <reset notification behavior> of the rendering
   104     context. This attribute is only meaningful for OpenGL ES contexts,
   105     and specifying it for other types of contexts will generate an
   106     EGL_BAD_ATTRIBUTE error.
   108     Reset notification behavior is defined in the GL_EXT_robustness
   109     extension for OpenGL ES, and the resulting context must support
   110     GL_EXT_robustness and the specified reset strategy. The attribute
   111     value may be either EGL_NO_RESET_NOTIFICATION_EXT or EGL_LOSE_-
   112     CONTEXT_ON_RESET_EXT, which respectively result in disabling
   113     delivery of reset notifications or the loss of all context state
   114     upon reset notification as described by the GL_EXT_robustness. The
   115     default value for EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT
   116     is EGL_NO_RESET_NOTIFICATION_EXT.
   118     Add to the eglCreateContext context creation errors:
   120     * If <config> does not support a client API context compatible
   121       with the requested context flags and context reset notification
   122       behavior (for client API types where these attributes are
   123       supported), then an EGL_BAD_CONFIG error is generated.
   125     * If the reset notification behavior of <share_context> and the
   126       newly created context are different then an EGL_BAD_MATCH error is
   127       generated.
   130 Errors
   132     EGL_BAD_CONFIG is generated if EGL_CONTEXT_OPENGL_ROBUST_ACCESS_-
   133     EXT is set to EGL_TRUE and no GL context supporting the GL_EXT_-
   134     robustness extension and robust access as described therein can be
   135     created.
   137     EGL_BAD_CONFIG is generated if no GL context supporting the
   138     GL_EXT_robustness extension and the specified reset notification
   139     behavior (the value of attribute EGL_CONTEXT_RESET_NOTIFICATION_-
   140     STRATEGY_EXT) can be created.
   142     BAD_MATCH is generated if the reset notification behavior of
   143     <share_context> does not match the reset notification behavior of
   144     the context being created.
   146 New State
   148     None
   150 Conformance Tests
   152     TBD
   154 Sample Code
   156     TBD
   158 Issues
   160     None
   162 Revision History
   164     Rev.    Date       Author     Changes
   165     ----  ------------ ---------  ----------------------------------------
   166       3   31 Oct  2011 groth      Reverted to attribute for robust access. Now it's a
   167                                   companion to rather than subset of KHR_create_context
   168       2   11 Oct  2011 groth      Merged ANGLE and NV extensions.
   169       1   15 July 2011 groth      Initial version

mercurial