From d92f9c3d51fe72c5928d6bf8f3d044d3b13f43f3 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Thu, 6 Feb 2025 20:55:30 +0000 Subject: [PATCH] venus: use dedicated allocation for ANB image memory import On most platforms, deidcated allocation is preferred for the dma-buf import done by Venus. In special cases, this is required but missed so far. Cc: mesa-stable Signed-off-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_android.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index 9f85470a73e..abbb0626887 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -581,8 +581,15 @@ vn_android_image_from_anb_internal(struct vn_device *dev, goto fail; } + const bool prefer_dedicated = + img->requirements[0].dedicated.prefersDedicatedAllocation == VK_TRUE; + const VkMemoryDedicatedAllocateInfo dedicated_info = { + .sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, + .image = vn_image_to_handle(img), + }; const VkImportMemoryFdInfoKHR import_fd_info = { .sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR, + .pNext = prefer_dedicated ? &dedicated_info : NULL, .handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, .fd = dup_fd, };