aboutsummaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorGeoff Lang <geofflang@chromium.org>2014-06-05 15:38:28 -0400
committerGeoff Lang <geofflang@chromium.org>2014-06-17 17:41:22 +0000
commitb9f240b1c3fc25f4497a75d1e47c09bf86875328 (patch)
tree597db62fafbaf2b6147735a593296d3a698be2ca /extensions
parentbae30a0011345e10d067af280ecd6130ed89ecb8 (diff)
downloadangle-b9f240b1c3fc25f4497a75d1e47c09bf86875328.tar.gz
Split the ANGLE_platform_angle_d3d extension by adding child extensions.
Renames the ANGLE_platform_angle_d3d extension to ANGLE_platform_angle which acts as an umbrella extension for all the angle display types but requires the sub-extensions (d3d, opengl, software) to be present for the enums to be valid (similar to the OES_framebuffer_object extension). BUG=angle:668 Change-Id: I2c00021558d8b781b20f948f5e0df03f734bd033 Reviewed-on: https://chromium-review.googlesource.com/202597 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Diffstat (limited to 'extensions')
-rw-r--r--extensions/ANGLE_platform_angle.txt141
-rw-r--r--extensions/ANGLE_platform_angle_d3d.txt63
-rw-r--r--extensions/ANGLE_platform_angle_opengl.txt68
3 files changed, 219 insertions, 53 deletions
diff --git a/extensions/ANGLE_platform_angle.txt b/extensions/ANGLE_platform_angle.txt
new file mode 100644
index 00000000..81846f44
--- /dev/null
+++ b/extensions/ANGLE_platform_angle.txt
@@ -0,0 +1,141 @@
+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.
diff --git a/extensions/ANGLE_platform_angle_d3d.txt b/extensions/ANGLE_platform_angle_d3d.txt
index 019150fe..05da04fb 100644
--- a/extensions/ANGLE_platform_angle_d3d.txt
+++ b/extensions/ANGLE_platform_angle_d3d.txt
@@ -1,4 +1,3 @@
-
Name
ANGLE_platform_angle_d3d
@@ -9,12 +8,12 @@ Name Strings
Contributors
- Scott Graham, Google
Shannon Woods, Google
+ Geoff Lang, Google
Contacts
- Scott Graham, Google (scottmg 'at' google 'dot' com)
+ Geoff Lang, Google (geofflang 'at' chromium 'dot' org)
Status
@@ -22,7 +21,7 @@ Status
Version
- Version 1, 2014-02-04
+ Version 1, 2014-06-05
Number
@@ -34,18 +33,11 @@ Extension Type
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.
+ Requires ANGLE_platform_angle.
Overview
- This extension defines how to create EGL resources from resources using
- the functions defined by EGL_EXT_platform_base.
+ This extension enables selection of D3D display types.
New Types
@@ -57,56 +49,21 @@ New Procedures and Functions
New Tokens
- Accepted as the <platform> argument of eglGetPlatformDisplayEXT:
-
- EGL_PLATFORM_ANGLE_D3D_ANGLE 0x3201
+ Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute:
- Accepted as an attribute name in the <attrib_list> argument of
- eglGetPlatformDisplayEXT:
-
- EGL_PLATFORM_ANGLE_D3D_TYPE_ANGLE 0x3202
-
- Accepted as values for the EGL_PLATFORM_ANGLE_D3D_TYPE_ANGLE attribute:
-
- EGL_PLATFORM_ANGLE_D3D_TYPE_D3D9_ANGLE 0x3203
- EGL_PLATFORM_ANGLE_D3D_TYPE_D3D11_ANGLE 0x3204
- EGL_PLATFORM_ANGLE_D3D_TYPE_D3D11_WARP_ANGLE 0x3205
+ EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3204
+ EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3205
+ EGL_PLATFORM_ANGLE_TYPE_D3D11_WARP_ANGLE 0x3206
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 D3D display, call
- eglGetPlatformDisplayEXT with <platform> set to
- EGL_PLATFORM_ANGLE_D3D_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_D3D_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, a D3D9 device is created. Otherwise, the
- value of EGL_PLATFORM_ANGLE_D3D_TYPE_ANGLE should be:
- - EGL_PLATFORM_ANGLE_D3D_TYPE_D3D9_ANGLE for D3D9 hardware,
- - EGL_PLATFORM_ANGLE_D3D_TYPE_D3D11_ANGLE for D3D11 hardware,
- - EGL_PLATFORM_ANGLE_D3D_TYPE_D3D11_WARP_ANGLE for D3D11 WARP.
-
- If no display matching the requested <native_display> or of the type
- requested by the value of EGL_PLATFORM_ANGLE_D3D_TYPE_ANGLE is available,
- EGL_NO_DISPLAY is returned. No error condition is raised in this case.
-
Issues
None
Revision History
- Version 1, 2014-02-04 (Scott Graham)
+ Version 1, 2014-06-05 (Geoff Lang)
- Initial draft
diff --git a/extensions/ANGLE_platform_angle_opengl.txt b/extensions/ANGLE_platform_angle_opengl.txt
new file mode 100644
index 00000000..4492a840
--- /dev/null
+++ b/extensions/ANGLE_platform_angle_opengl.txt
@@ -0,0 +1,68 @@
+Name
+
+ ANGLE_platform_angle_opengl
+
+Name Strings
+
+ EGL_ANGLE_platform_angle_opengl
+
+Contributors
+
+ Shannon Woods, Google
+ Geoff Lang, Google
+
+Contacts
+
+ Geoff Lang, Google (geofflang 'at' chromium 'dot' org)
+
+Status
+
+ Draft
+
+Version
+
+ Version 1, 2014-06-05
+
+Number
+
+ EGL Extension XXX
+
+Extension Type
+
+ EGL client extension
+
+Dependencies
+
+ Requires ANGLE_platform_angle.
+
+Overview
+
+ This extension enables selection of OpenGL display types.
+
+New Types
+
+ None
+
+New Procedures and Functions
+
+ None
+
+New Tokens
+
+ Accepted as values for the EGL_PLATFORM_ANGLE_TYPE_ANGLE attribute:
+
+ EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE 0x3207
+ EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE 0x3208
+
+Additions to the EGL Specification
+
+ None.
+
+Issues
+
+ None
+
+Revision History
+
+ Version 1, 2014-06-05 (Geoff Lang)
+ - Initial draft \ No newline at end of file