blob: 81846f444a70471e8d26f8ed32bc78a133cc7409 [file] [log] [blame]
Name
ANGLE_platform_angle
Name Strings
EGL_ANGLE_platform_angle
Contributors
Scott Graham, Google
Shannon Woods, Google
Geoff Lang, Google
Contacts
Scott Graham, Google (scottmg 'at' google 'dot' com)
Status
Draft
Version
Version 2, 2014-06-05
Number
EGL Extension XXX
Extension Type
EGL client extension
Dependencies
Requires EGL_EXT_client_extensions to query its existence without
a display.
Requires EGL_EXT_platform_base.
This extension is written against the wording of version 9 of the
EGL_EXT_platform_base specification.
ANGLE_platform_angle_d3d affects the definition of this extension.
ANGLE_platform_angle_opengl affects the definition of this extension.
Overview
This extension defines how to create EGL resources from resources using
the functions defined by EGL_EXT_platform_base.
New Types
None
New Procedures and Functions
None
New Tokens
Accepted as the <platform> argument of eglGetPlatformDisplayEXT:
EGL_PLATFORM_ANGLE_ANGLE 0x3201
Accepted as an attribute name in the <attrib_list> argument of
eglGetPlatformDisplayEXT:
EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3202
Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute:
EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3203
Additions to the EGL Specification
None.
New Behavior
To determine if the EGL implementation supports this extension, clients
should query the EGL_EXTENSIONS string of EGL_NO_DISPLAY.
To obtain an EGLDisplay backed by a ANGLE display, call
eglGetPlatformDisplayEXT with <platform> set to EGL_PLATFORM_ANGLE_ANGLE.
The <native_display> parameter is of type EGLNativeDisplayType. If
<native_display> is EGL_DEFAULT_DISPLAY a default display is returned.
Multiple calls with the same <native_display> will return the same
EGLDisplay handle. The value of EGL_PLATFORM_ANGLE_TYPE_ANGLE, if any,
is ignored if there was previously a EGLDisplay successfully created for a
given value of EGLNativeDisplayType.
If no <attrib_list> is specified, the value of
EGL_PLATFORM_ANGLE_TYPE_ANGLE is implicitly set to
EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE. Otherwise, the value of
EGL_PLATFORM_ANGLE_TYPE_ANGLE should be:
- EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE for an implementation dependent
display, equivalent to using a <native_display> of EGL_DEFAULT_DISPLAY,
- EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE for a D3D9 display which translates
to OpenGL ES,
- EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE for a D3D11 display which
translates to OpenGL ES,
- EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE a D3D11 WARP display which
translates to OpenGL ES,
- EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE for an OpenGL display which
translates to OpenGL ES,
- EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE for a native OpenGL ES display
If no display matching the requested <native_display> or of the type
requested by the value of EGL_PLATFORM_ANGLE_TYPE_ANGLE is available,
EGL_NO_DISPLAY is returned. No error condition is raised in this case.
Dependencies on ANGLE_platform_angle_d3d
The EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE,
EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE and
EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE <native_display> parameters to
eglGetPlatformDisplayEXT are only valid if ANGLE_platform_angle_d3d is
supported.
Dependencies on ANGLE_platform_angle_opengl
The EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE and
EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE <native_display> parameters to
eglGetPlatformDisplayEXT are only valid if ANGLE_platform_angle_opengl is
supported.
Issues
None
Revision History
Version 1, 2014-02-04 (Scott Graham)
- Initial draft
Version 2, 2014-06-05 (Geoff Lang)
- Rename extension from ANGLE_platform_angle_d3d to
ANGLE_platform_angle.
- Add sub-extensions for specific platforms.