Name

    ANGLE_device_d3d

Name Strings

    EGL_ANGLE_device_d3d

Contributors

    Jamie Madill  (jmadill 'at' google.com)

Contact

    Jamie Madill  (jmadill 'at' google.com)

Status

    Draft

Version

    Version 1, Mar 25, 2015

Number

    EGL Extension #XXX

Extension Type

    EGL device extension

Dependencies

    This extension is written against the language of EGL 1.5 as
    modified by EGL_EXT_device_query.

    EGL_EXT_device_query is required.

Overview

    ANGLE has the ability to run GPU commands on a native D3D device.
    This extension defines a mapping from an EGL device to a D3D
    device, after it's queried from an EGL display.

IP Status

    No known claims.

New Types

    None.

New Procedures and Functions

    None.

New Tokens

    Accepted as a queried <attribute> in eglQueryDeviceAttribEXT:

        EGL_D3D9_DEVICE_ANGLE              0x33A0
        EGL_D3D11_DEVICE_ANGLE             0x33A1

Add a new section 2.1.3 (D3D Devices) after 2.1.2 (Devices)

    Somewhat analogous to an EGL device, a D3D device establishes a
    namespace for D3D operations. In the D3D APIs, such devices are
    represented by pointers. For more details, see the D3D
    documentation.

Changes to section 3.2 (Devices)

    Replace the paragraph immediately following the prototype for
    eglQueryDeviceAttribEXT:

    <attribute> may be either EGL_D3D9_DEVICE_ANGLE or EGL_D3D11_DEVICE_ANGLE.
    On success, EGL_TRUE is returned, and a valid D3D9 or D3D11 device pointer
    corresponding to the EGL device is returned in <value>. This handle
    is compatible with D3D API functions. If the EGL device is not currently
    associated with a D3D9 device and <attribute> is EGL_D3D9_DEVICE_ANGLE,
    or if the EGL device is not currently associated with a D3D11 device and
    <attribute> is EGL_D3D11_DEVICE_ANGLE, EGL_BAD_ATTRIBUTE is returned,
    and <value> is left unchanged.

Issues

    None

Revision History

    Version 1, Mar 25, 2015 (Jamie Madill)
        - Initial Draft
