From 6f3c003433fb2699bb325198a5131d1f790b5a1f Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Fri, 30 Aug 2024 11:04:52 +0200 Subject: [PATCH] v3dv: unconditionally expose VK_EXT_queue_family_foreign MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 ab08b79ef7e ("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 Reviewed-by: Alejandro PiƱeiro Part-of: --- docs/features.txt | 2 +- src/broadcom/vulkan/v3dv_device.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 0b32ab8e133..c7130f37a89 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -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+) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index d619981f68d..6ebef4e2696 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -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 }