| 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 |