Edit

kc3-lang/angle/extensions/ANGLE_platform_angle_vulkan.txt

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2016-12-23 13:41:47
    Hash : 0448ec84
    Message : Vulkan: Enable validation layers on request. Also adds the build files for the Vulkan layers. The layers are enabled by default for the tests. BUG=angleproject:1319 Change-Id: I0b442b36312a1299a932922e1c4e39f00801de49 Reviewed-on: https://chromium-review.googlesource.com/367751 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>

  • extensions/ANGLE_platform_angle_vulkan.txt
  • Name
    
        ANGLE_platform_angle_vulkan
    
    Name Strings
    
        EGL_ANGLE_platform_angle_vulkan
    
    Contributors
    
        Jamie Madill, Google
    
    Contacts
    
        Jamie Madill, Google (jmadill 'at' google 'dot' com)
    
    Status
    
        Draft
    
    Version
    
        Version 1, 2016-11-17
    
    Number
    
        EGL Extension XXX
    
    Extension Type
    
        EGL client extension
    
    Dependencies
    
        Requires ANGLE_platform_angle.
    
    Overview
    
        This extension enables selection of Vulkan 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_VULKAN_ANGLE               0x3450
    
        Accepted as an attribute name in the <attrib_list> argument of
        eglGetPlatformDisplayEXT:
    
            EGL_PLATFORM_ANGLE_ENABLE_VALIDATION_LAYER_ANGLE   0x3451
    
    Additions to the EGL Specification
    
        None.
    
    New Behavior
    
        To request a display that is backed by a Vulkan driver, the value of
        EGL_PLATFORM_ANGLE_TYPE_ANGLE should be
        EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE.
    
        If EGL_PLATFORM_ANGLE_ENABLE_VALIDATION_LAYER_ANGLE is specified, it
        controls enabling the standard Vulkan validation layers. EGL_TRUE enables
        the validation and EGL_FALSE disables it. Any value other than these will
        result in an error. If the flag is not specified, validation may default
        to either enabled or disabled, depending on compile-time parameters in the
        implementation.
    
        If EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE and
        EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE are not specified, the
        implementation will decide which version of Vulkan to instantiate. If they
        are specified, it will choose a version that is lower or equal to the
        specified major and minor versions. The only current values accepted for
        major and minor version are 1 for major and 0 for minor.
    
    Issues
    
        1) Would it be better to specify validation layers individually?
    
           RESOLVED: It would give more fined grained control, but the layers
           are sensitive to ordering, and there may be new ones added or old ones
           removed, this abstracts the logic into a simpler form. The validation
           layers maintainers are also moving towards a single-layer model from
           the current multiple layers approach.
    
        2) Should the validation layers default to on, off, or no guarantee?
    
           Defaulting to off offers some consistency. However, it's customary for
           some applications like ANGLE to turn on debugging features by default
           in Debug builds.
    
        3) Should ANGLE always instantiate the highest available version of Vulkan?
    
           RESOLVED: It's possible that in a future implementation of Vulkan there
           may be driver issues present only on some version of Vulkan, and there's
           no explicit guarantee higher versions will be more stable. Hence, we should
           give ANGLE some flexiblity in this regard and leave this unspecified.
    
    Revision History
    
        Version 1, 2016-11-17 (Jamie Madill)
          - Initial draft