Edit

kc3-lang/angle/extensions/EGL_ANGLE_feature_control.txt

Branch :

  • Show log

    Commit

  • Author : Jonah Ryan-Davis
    Date : 2019-09-30 13:50:12
    Hash : 7dd03446
    Message : Ensure Features* descriptions stay up to date Created a macro to help keep Features' descriptions up to date. This will avoid confusion in the future when conditions change. Also update all descriptions to match current state. Bug: angleproject:3947 Change-Id: Ifc65e7789c916fab79f1323798dfb59d7a4efad2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829584 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • extensions/EGL_ANGLE_feature_control.txt
  • Name
    
        EGL_ANGLE_feature_control
    
    Name Strings
    
        EGL_ANGLE_feature_control
    
    Contributors
    
        Jonah Ryan-Davis  (jonahr 'at' google.com)
    
    Contact
    
        Jonah Ryan-Davis  (jonahr 'at' google.com)
    
    Status
    
        Draft
    
    Version
    
        Version 1, May 23, 2019
    
    Number
    
        EGL Extension #XXX
    
    Extension Type
    
        EGL client extension
    
    Dependencies
    
        This extension is written against the wording of the EGL 1.5
        Specification.
    
        EGL_EXT_device_query affects the definition of this extension.
    
    Overview
    
        This extension adds two methods to query arrays holding
        information about the available features for a given device.
        One method is used to query the total count of available
        features. Another method is used to query a string property
        of an individual feature given the feature's index.
    
    IP Status
    
        No known claims.
    
    New Types
    
        None.
    
    New Procedures and Functions
    
        const char *eglQueryStringiANGLE(
            EGLDisplay dpy,
            EGLint name,
            EGLint index);
    
        EGLBoolean eglQueryDisplayAttribANGLE(
            EGLDisplay dpy,
            EGLint attribute,
            EGLAttrib *value);
    
    New Tokens
    
        Accepted as a queried <name> in eglQueryStringiANGLE:
    
            EGL_FEATURE_NAME_ANGLE          0x3460
            EGL_FEATURE_CATEGORY_ANGLE      0x3461
            EGL_FEATURE_DESCRIPTION_ANGLE   0x3462
            EGL_FEATURE_BUG_ANGLE           0x3463
            EGL_FEATURE_STATUS_ANGLE        0x3464
            EGL_FEATURE_CONDITION_ANGLE     0x3468
    
        Accepted as a queried <attribute> in eglQueryDisplayAttribANGLE
    
            EGL_FEATURE_COUNT_ANGLE         0x3465
    
        Accepted as an attribute name in the <attrib_list> argument of
        eglGetPlatformDisplay
    
            EGL_FEATURE_OVERRIDES_ENABLED_ANGLE   0x3466
            EGL_FEATURE_OVERRIDES_DISABLED_ANGLE  0x3467
    
    New Behavior
    
        The attribute following EGL_FEATURE_OVERRIDES_ENABLED_ANGLE or
        EGL_FEATURE_OVERRIDES_DISABLED_ANGLE should be of type char**,
        which should contain a null-terminated array of C strings naming
        the features to be enabled or disabled upon display creation.
        Any features unspecified in one of these arrays will be
        initialized with an internal heuristic.
    
    Add the following to the end of section 3.3 "EGL Queries":
    
            const char *eglQueryStringiANGLE(EGLDisplay dpy,
                EGLint name, EGLint index);
    
        eGLQueryStringiANGLE returns a pointer to a static, null-
        terminated string describing some aspect of the EGL
        implementation running on the specified display, from an array of
        strings. name may be one of EGL_FEATURE_NAME_ANGLE,
        EGL_FEATURE_CATEGORY_ANGLE, EGL_FEATURE_DESCRIPTION_ANGLE,
        EGL_FEATURE_BUG_ANGLE, or EGL_FEATURE_STATUS_ANGLE. Index
        must be a valid index to access into the array of strings.
            The EGL_FEATURE_NAME_ANGLE array contains strings that
        describe the name of each feature available in the display.
            The EGL_FEATURE_CATEGORY_ANGLE array contains strings
        with corresponding indices to the array of names. Each string
        describes the category of the feature at the specified index.
            The EGL_FEATURE_DESCRIPTION_ANGLE array contains strings
        with corresponding indices to the array of names. Each string
        describes the feature at the specified index.
            The EGL_FEATURE_BUG_ANGLE array contains strings
        with corresponding indices to the array of names. Each string
        describes the bug related to the feature at the specified
        index.
            The EGL_FEATURE_STATUS_ANGLE array contains strings
        with corresponding indices to the array of names. Each string has
        the value "enabled" if the feature is currently enabled, or
        "disabled" if the feature is currently disabled.
            The EGL_FEATURE_CONDITION_ANGLE array contains strings that
        describe to the condition that sets the corresponding value in
        the EGL_FEATURE_STATUS_ANGLE array.
    
        Errors
    
        On failure, NULL is returned.
        An EGL_BAD_DISPLAY error is generated if dpy is not a valid
        display.
        An EGL_BAD_PARAMETER error is generated if name is not one of the
        values described above.
        An EGL_BAD_PARAMETER error is generated if index is not within
        the valid range of indices for the array.
    
    Add a section "3.4 Display Attributes" after "3.3 EGL Versioning"
    
        To query attributes of an initialized display, use:
    
            EGLBoolean eglQueryDisplayAttribANGLE(EGLDisplay dpy,
                                                EGLint attribute,
                                                EGLAttrib *value);
    
        On success, EGL_TRUE is returned.
        If <attribute> is EGL_FEATURE_COUNT_ANGLE, the total count of
        available features is returned in <value>.
    
        On failure, EGL_FALSE is returned.
        An EGL_BAD_DISPLAY error is generated if dpy is not a valid
        display.
        An EGL_BAD_ATTRIBUTE error is generated if <attribute> is not a
        valid value.
    
    Issues
    
        None
    
    Revision History
    
        Version 1, May 23, 2019 (Jonah Ryan-Davis)
            - Initial Draft