Branch
Hash :
222c517f
Author :
Date :
2017-07-19T16:15:42
Control Debug layers in ANGLE_platform_angle. Debug layers seem to be a universal thing among functional back-ends. D3D, OpenGL and Vulkan all need some kind of controls for debugging, so it seems to make sense to make this control part of the base extension. Default the extension to EGL_DONT_CARE, which allows the back-end to have a lot of flexibility in terms of implementation. Also enable the extension in the D3D11 and OpenGL back-ends, and set the extension to enabled for angle_end2end_tests. Remove EGLVulkanEXTTest since it no longer tests anything not tested in the base ANGLETest class. BUG=angleproject:2086 Change-Id: I52d8170effd1846b9afbe6e4052c699fe5cb0de8 Reviewed-on: https://chromium-review.googlesource.com/578369 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
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 2, 2017-07-19
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
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_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) 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
Version 2, 2017-07-19 (Jamie Madill)
- Moved debug layer control to EGL_ANGLE_platform_angle