Edit

kc3-lang/angle/extensions/ANGLE_platform_angle.txt

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2014-06-05 15:38:28
    Hash : b9f240b1
    Message : 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>

  • extensions/ANGLE_platform_angle.txt
  • 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.