1Name
2
3    ANGLE_platform_angle
4
5Name Strings
6
7    EGL_ANGLE_platform_angle
8
9Contributors
10
11    Scott Graham, Google
12    Shannon Woods, Google
13    Geoff Lang, Google
14
15Contacts
16
17    Scott Graham, Google (scottmg 'at' google 'dot' com)
18
19Status
20
21    Draft
22
23Version
24
25    Version 2, 2014-06-05
26
27Number
28
29    EGL Extension XXX
30
31Extension Type
32
33    EGL client extension
34
35Dependencies
36
37    Requires EGL_EXT_client_extensions to query its existence without
38    a display.
39
40    Requires EGL_EXT_platform_base.
41
42    This extension is written against the wording of version 9 of the
43    EGL_EXT_platform_base specification.
44
45    ANGLE_platform_angle_d3d affects the definition of this extension.
46    ANGLE_platform_angle_opengl affects the definition of this extension.
47
48Overview
49
50    This extension defines how to create EGL resources from resources using
51    the functions defined by EGL_EXT_platform_base.
52
53New Types
54
55    None
56
57New Procedures and Functions
58
59    None
60
61New Tokens
62
63    Accepted as the <platform> argument of eglGetPlatformDisplayEXT:
64
65        EGL_PLATFORM_ANGLE_ANGLE                           0x3201
66
67    Accepted as an attribute name in the <attrib_list> argument of
68    eglGetPlatformDisplayEXT:
69
70        EGL_PLATFORM_ANGLE_TYPE_ANGLE                      0x3202
71
72    Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute:
73
74        EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE              0x3203
75
76Additions to the EGL Specification
77
78    None.
79
80New Behavior
81
82    To determine if the EGL implementation supports this extension, clients
83    should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY.
84
85    To obtain an EGLDisplay backed by a ANGLE display, call
86    eglGetPlatformDisplayEXT with <platform> set to EGL_PLATFORM_ANGLE_ANGLE.
87
88    The <native_display> parameter is of type EGLNativeDisplayType. If
89    <native_display> is EGL_DEFAULT_DISPLAY a default display is returned.
90    Multiple calls with the same <native_display> will return the same
91    EGLDisplay handle. The value of EGL_PLATFORM_ANGLE_TYPE_ANGLE, if any,
92    is ignored if there was previously a EGLDisplay successfully created for a
93    given value of EGLNativeDisplayType.
94
95    If no <attrib_list> is specified, the value of
96    EGL_PLATFORM_ANGLE_TYPE_ANGLE is implicitly set to
97    EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE. Otherwise, the value of
98    EGL_PLATFORM_ANGLE_TYPE_ANGLE should be:
99      - EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE for an implementation dependent
100        display, equivalent to using a <native_display> of EGL_DEFAULT_DISPLAY,
101      - EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE for a D3D9 display which translates
102        to OpenGL ES,
103      - EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE for a D3D11 display which
104        translates to OpenGL ES,
105      - EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE a D3D11 WARP display which
106        translates to OpenGL ES,
107      - EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE for an OpenGL display which
108        translates to OpenGL ES,
109      - EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE for a native OpenGL ES display
110
111    If no display matching the requested <native_display> or of the type
112    requested by the value of EGL_PLATFORM_ANGLE_TYPE_ANGLE is available,
113    EGL_NO_DISPLAY is returned. No error condition is raised in this case.
114
115Dependencies on ANGLE_platform_angle_d3d
116
117    The EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE,
118    EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE and
119    EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE <native_display> parameters to
120    eglGetPlatformDisplayEXT are only valid if ANGLE_platform_angle_d3d is
121    supported.
122
123Dependencies on ANGLE_platform_angle_opengl
124
125    The EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE and
126    EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE <native_display> parameters to
127    eglGetPlatformDisplayEXT are only valid if ANGLE_platform_angle_opengl is
128    supported.
129
130Issues
131
132    None
133
134Revision History
135
136    Version 1, 2014-02-04 (Scott Graham)
137        - Initial draft
138    Version 2, 2014-06-05 (Geoff Lang)
139        - Rename extension from ANGLE_platform_angle_d3d to
140          ANGLE_platform_angle.
141        - Add sub-extensions for specific platforms.
142