Hash :
18168286
        
        Author :
  
        
        Date :
2018-04-27T11:48:14
        
      
Add initial specification for EGL_ANGLE_explicit_context Extension Adds formal specification for the unimplemented EGL_ANGLE_explicit_context extension. This extension will introduce alternate entry points that allow us to specify the context during the gl function call, so we can avoid looking it up in TLS. Bug: angleproject:1395 Change-Id: I6060c02b8edf586dc2443b563e2d292c00e4fbb7 Reviewed-on: https://chromium-review.googlesource.com/1033577 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
Name
    ANGLE_explicit_context
Name Strings
    GL_ANGLE_explicit_context
Contributors
    Brandon Jones, Intel
Contacts
    Brandon Jones, Intel (brandon1.jones 'at' intel 'dot' com)
Status
    Complete.
Version
    Version 1, 2018-5-22
Number
    GL Extension XXX
Dependencies
    OpenGL ES 3.1 is required.
    EGL_ANGLE_explicit_context is required.
Overview
    This extension adds new OpenGL ES entry points that allow the user to pass the current EGL
    context as a function parameter. This allows users to skip lookup of the thread's current
    context upon entry.
New Types
    typedef void* GLeglContextANGLE
New Procedures and Functions
    For every OpenGL ES entry point available in OpenGL ES 2.0, 3.0 and 3.1, an additional entry
    point is made available. The entry points have the form of:
    <return value> gl<entry point name>ContextANGLE(GLeglContextANGLE context, <entry point parameters>)
    If a function already has an extension suffix, this form still applies.
New Tokens
    None.
Additions to Chapter 2 of the OpenGL ES 3.1 Specification (OpenGL ES Fundamentals)
    The ContextANGLE entry points allow the user to pass the current EGL context as a function
    parameter to provide better performance than looking up the current EGL context at every GL
    entry point.
    Calls made with an explicit context provide no additional validation for the passed context
    parameter.
    Calls made with an explicit context will generate errors under the same conditions as they
    would without an explicit context. Any instances of undefined behaviour without specifying
    an explicit context are still undefined when specifying an explicit context.
    When an EGL context that is not current is explicitly passed, the resulting behavior is
    undefined.
Issues
    None.
Revision History
    Version 1, 2018-5-22 (Brandon Jones)
        - Initial draft