Vulkan: Cleanup device feature query and enabling
All device extension features and properties queries are now performed
in a single call for each (i.e. one for features, one for properties),
with all the extension structs chained. Then based on which feature is
present (not just whether the extension is supported), the extensions
and features are enabled.
In the process, it fixes the following issues:
- If VK_EXT_vertex_attribute_divisor is present, but the necessary
vertexAttributeInstanceRateDivisor feature is not supported, that
feature is not enabled and the emulation path is taken. Incidentally,
this also fixes an issue with renderdoc that refuses to replay captures
on such devices.
- If VK_EXT_transform_feedback is present, but the necessary
transformFeedback feature is not supported, similarly that feature is
not enabled and the emulation path is taken.
Bug: angleproject:4306
Bug: angleproject:4027
Change-Id: I0969064cba811d215c37dfe551b0ceedb334051c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2005111
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by:
Tobin Ehlis <tobine@google.com>
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment