v3dv: unconditionally expose VK_EXT_queue_family_foreign

Zink currently requires VK_EXT_queue_family_foreign to set
PIPE_CAP_DMABUF, which is one of the requirements to create a
gbm context.
v3dv already conditionally supported this extension for Android.
As it is now required for Zink in Mesa, move it to the driver's
common set.
This allows v3dv to create gbm contexts with Zink again since
this was made a stricter requirement as a side effect of
ab08b79ef7 ("gbm: use driver check for dmabuf export").

Tested with Zink on a gbm EGL application as well as sway with
the wlroots Vulkan backend, which also requires this extension.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30938>
This commit is contained in:
Erico Nunes 2024-08-30 11:04:52 +02:00 committed by Marge Bot
parent d756966a28
commit 6f3c003433
2 changed files with 2 additions and 2 deletions

View file

@ -619,7 +619,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_provoking_vertex DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_EXT_queue_family_foreign DONE (anv, hasvk, nvk, lvp, radv, tu, vn)
VK_EXT_queue_family_foreign DONE (anv, hasvk, nvk, lvp, radv, tu, v3dv, vn)
VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn)
VK_EXT_robustness2 DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
VK_EXT_sample_locations DONE (anv, hasvk, nvk, radv/gfx9-, tu/a650+)

View file

@ -223,6 +223,7 @@ get_device_extensions(const struct v3dv_physical_device *device,
.EXT_primitive_topology_list_restart = true,
.EXT_private_data = true,
.EXT_provoking_vertex = true,
.EXT_queue_family_foreign = true,
.EXT_separate_stencil_usage = true,
.EXT_shader_demote_to_helper_invocation = true,
.EXT_shader_module_identifier = true,
@ -238,7 +239,6 @@ get_device_extensions(const struct v3dv_physical_device *device,
if (vk_android_get_ugralloc() != NULL) {
ext->ANDROID_external_memory_android_hardware_buffer = true;
ext->ANDROID_native_buffer = true;
ext->EXT_queue_family_foreign = true;
}
#endif
}