venus: support VK_KHR_deferred_host_operations

Details are at:
https://gitlab.freedesktop.org/virgl/venus-protocol/-/merge_requests/97

For venus and vkr, we'll use pure driver side impl. Start with (1) and
move towards (2) later as things evolve. We'd like renderer side to be
simple and passive.

Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33907>
This commit is contained in:
Yiwei Zhang 2025-02-27 18:27:42 -08:00 committed by Marge Bot
parent 90f9a1cca5
commit 3eb554a2b5
2 changed files with 8 additions and 1 deletions

View file

@ -536,7 +536,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_compute_shader_derivatives DONE (anv, nvk, radv, tu/a7xx+, vn)
VK_KHR_cooperative_matrix DONE (anv, radv/gfx11+)
VK_KHR_depth_clamp_zero_one DONE (vn)
VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv)
VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv, vn)
VK_KHR_display DONE (anv, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_display_swapchain not started
VK_KHR_external_fence_fd DONE (anv, hasvk, nvk, panvk, pvr, radv, tu, v3dv, vn)

View file

@ -1087,6 +1087,13 @@ vn_physical_device_get_native_extensions(
physical_dev->renderer_extensions.EXT_pci_bus_info;
#endif
/* Use common implementation but enable only when the renderer supports
* VK_KHR_acceleration_structure because VK_KHR_deferred_host_operations is
* not passthrough from the renderer side.
*/
exts->KHR_deferred_host_operations =
physical_dev->ray_tracing &&
physical_dev->renderer_extensions.KHR_acceleration_structure;
exts->KHR_map_memory2 = true;
exts->EXT_physical_device_drm = true;
/* use common implementation */