Branch
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_gles1
Name Strings
GL_ANGLE_explicit_context_gles1
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 1.0 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 1.0, 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 1.0 Specification (OpenGL ES Operation)
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