diff options
author | Geoff Lang <geofflang@chromium.org> | 2014-06-05 15:38:28 -0400 |
---|---|---|
committer | Geoff Lang <geofflang@chromium.org> | 2014-06-17 17:41:22 +0000 |
commit | b9f240b1c3fc25f4497a75d1e47c09bf86875328 (patch) | |
tree | 597db62fafbaf2b6147735a593296d3a698be2ca /extensions | |
parent | bae30a0011345e10d067af280ecd6130ed89ecb8 (diff) | |
download | angle-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.txt | 141 | ||||
-rw-r--r-- | extensions/ANGLE_platform_angle_d3d.txt | 63 | ||||
-rw-r--r-- | extensions/ANGLE_platform_angle_opengl.txt | 68 |
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 |