diff --git a/docs/features.txt b/docs/features.txt index 0f31d5f80e0..94956880a87 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -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) diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c index 162540be9a1..2880e0bf738 100644 --- a/src/virtio/vulkan/vn_device.c +++ b/src/virtio/vulkan/vn_device.c @@ -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) { diff --git a/src/virtio/vulkan/vn_instance.c b/src/virtio/vulkan/vn_instance.c index 1bf6a72d114..4bc2be769ca 100644 --- a/src/virtio/vulkan/vn_instance.c +++ b/src/virtio/vulkan/vn_instance.c @@ -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 diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index 19d46531e92..8ab15627f3d 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -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