blob: 7c426f7a785ec5842faa5049cac66beb1ea152c6 [file] [log] [blame]
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