From 293255889c29d30ea55d9c80e81497f365d936d9 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Mon, 19 Apr 2021 22:19:50 +0000 Subject: [PATCH] venus: enable VK_EXT_queue_family_foreign Signed-off-by: Yiwei Zhang Reviewed-by: Chia-I Wu Part-of: --- src/virtio/vulkan/vn_device.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c index 1703b29e41b..0a742d3e00c 100644 --- a/src/virtio/vulkan/vn_device.c +++ b/src/virtio/vulkan/vn_device.c @@ -1485,6 +1485,7 @@ vn_physical_device_get_supported_extensions( /* EXT */ .EXT_image_drm_format_modifier = true, + .EXT_queue_family_foreign = true, .EXT_transform_feedback = true, }; } @@ -3067,9 +3068,15 @@ vn_device_fix_create_info(const struct vn_device *dev, VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME; #endif - if (dev->base.base.enabled_extensions.ANDROID_native_buffer) + if (dev->base.base.enabled_extensions.ANDROID_native_buffer) { block_exts[block_count++] = VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME; + if (!dev->base.base.enabled_extensions.EXT_queue_family_foreign && + dev->physical_device->renderer_extensions.EXT_queue_family_foreign) + extra_exts[extra_count++] = + VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME; + } + if (dev->base.base.enabled_extensions.KHR_external_memory_fd || dev->base.base.enabled_extensions.EXT_external_memory_dma_buf) { switch (physical_dev->external_memory.renderer_handle_type) {