Name

    EXT_device_query_name

Name Strings

    EGL_EXT_device_query_name

Contributors

    Kyle Brenneman,  NVIDIA  (kbrenneman 'at' nvidia.com)
    Daniel Kartch, NVIDIA (dkartch 'at' nvidia.com)

Contact

    Kyle Brenneman,  NVIDIA  (kbrenneman 'at' nvidia.com)

Status

    Complete

Version

    Version 1 - June 12, 2020

Number

    EGL Extension #140

Extension Type

    EGL device extension

Dependencies

    Written based on the wording of the EGL 1.5 specification.

    EGL_EXT_device_query is required.

Overview

    The EGL_EXT_device_enumeration and EGL_EXT_device_query extensions
    provide a list of devices and a list of extensions, but lacks a way
    to find a name for a device that an application can present to a
    user.

    This extension adds two new strings that an application can query to
    find human-readable names.

New Types

    None

New Functions

    None

New Tokens

    Accepted by the <name> parameter of eglQueryDeviceStringEXT:

        EGL_RENDERER_EXT                0x335F

New Device Queries

    eglQueryDeviceStringEXT accepts two new attributes.

    EGL_VENDOR and EGL_RENDERER_EXT return a human-readable name for the
    vendor and device, respectively.

    The format of the EGL_VENDOR and EGL_RENDERER strings is
    implementation-dependent.

    The EGL_VENDOR string for an EGLDeviceEXT is not required to match
    the EGL_VENDOR string for an EGLDisplay or the GL_VENDOR string for
    a context. Similarly, the EGL_RENDERER string is not required to
    match the GL_RENDERER string for a context.

Issues

    1.  Do we need a device query, instead of just creating an
        EGLDisplay and calling eglQueryString?

        RESOLVED: Yes, a device-level query is useful, because some
        devices might not be usable with EGL_EXT_platform_device. This
        is especially true on systems where different devices are
        handled by different drivers.

    2.  If an application creates an EGLDisplay from an EGLDevice,
        are the EGL_VENDOR strings required to match?

        RESOLVED: No. Some implementations might not load a driver until
        eglInitialize, and so might have a different or more specific
        EGL_VENDOR string associated with an EGLDisplay than with an
        EGLDeviceEXT. In addition, an implementation might select a
        driver to use based on other parameters in
        eglGetPlatformDisplay.

Revision History

    #1 (June 12, 2020) Kyle Brenneman

        - Initial draft

