venus: support wsi maintenance1 extensions

Venus has long supported creating swapchain image alias via binding. So
below are exposed without extra work needed:
- VK_EXT_surface_maintenance1
- VK_EXT_swapchain_maintenance1

Test: dEQP-VK.wsi.*.maintenance1.*

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33782>
This commit is contained in:
Yiwei Zhang 2025-02-26 12:29:24 -08:00 committed by Marge Bot
parent 673a95e5b4
commit acd5497067
4 changed files with 7 additions and 2 deletions

View file

@ -651,8 +651,8 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, lvp, nvk, radv, vn)
VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, lvp, nvk, radv)
VK_EXT_shader_module_identifier DONE (anv, hasvk, nvk, panvk, radv, tu, v3dv)
VK_EXT_surface_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv)
VK_EXT_swapchain_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv)
VK_EXT_surface_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_swapchain_maintenance1 DONE (anv, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_transform_feedback DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_vertex_attribute_divisor DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_vertex_input_dynamic_state DONE (anv, lvp, nvk, radv, tu, vn)

View file

@ -306,6 +306,8 @@ vn_device_fix_create_info(const struct vn_device *dev,
VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
block_exts[block_count++] =
VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
block_exts[block_count++] =
VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
}
if (app_exts->ANDROID_native_buffer) {

View file

@ -38,6 +38,7 @@ static const struct vk_instance_extension_table
.KHR_get_surface_capabilities2 = true,
.KHR_surface = true,
.KHR_surface_protected_capabilities = true,
.EXT_surface_maintenance1 = true,
.EXT_swapchain_colorspace = true,
#endif
#ifdef VK_USE_PLATFORM_WAYLAND_KHR

View file

@ -317,6 +317,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev)
* See vn_physical_device_get_native_extensions.
*/
feats->deviceMemoryReport = true;
feats->swapchainMaintenance1 = true;
/* Disable unsupported ExtendedDynamicState3Features */
if (exts->EXT_extended_dynamic_state3) {
@ -1027,6 +1028,7 @@ vn_physical_device_get_native_extensions(
exts->KHR_incremental_present = true;
exts->KHR_swapchain = true;
exts->KHR_swapchain_mutable_format = true;
exts->EXT_swapchain_maintenance1 = true;
}
/* VK_EXT_pci_bus_info is required by common wsi to decide whether native