From 203e64eadde14301c95ec9653695a46a52a41d27 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 30 Apr 2021 11:05:11 -0700 Subject: [PATCH] venus: init supported extensions in one place This also guarantees that physical_dev->extension_spec_versions[X] is set when extension X is supported. Signed-off-by: Chia-I Wu Reviewed-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_device.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c index 089722b3112..32c97439b97 100644 --- a/src/virtio/vulkan/vn_device.c +++ b/src/virtio/vulkan/vn_device.c @@ -1380,11 +1380,6 @@ vn_physical_device_init_external_memory( physical_dev->external_memory.supported_handle_types = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT | VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT; - - physical_dev->base.base.supported_extensions.KHR_external_memory_fd = - true; - physical_dev->base.base.supported_extensions - .EXT_external_memory_dma_buf = true; } } @@ -1451,6 +1446,13 @@ vn_physical_device_get_native_extensions( .ANDROID_native_buffer = true, #endif }; + + /* see vn_physical_device_init_external_memory */ + if (physical_dev->renderer_extensions.EXT_external_memory_dma_buf && + physical_dev->instance->renderer_info.has_dmabuf_import) { + exts->KHR_external_memory_fd = true; + exts->EXT_external_memory_dma_buf = true; + } } static void @@ -2925,8 +2927,7 @@ vn_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, if (physical_dev->base.base.supported_extensions.extensions[i]) { vk_outarray_append(&out, prop) { *prop = vk_device_extensions[i]; - if (physical_dev->extension_spec_versions[i]) - prop->specVersion = physical_dev->extension_spec_versions[i]; + prop->specVersion = physical_dev->extension_spec_versions[i]; } } }