panvk: advertise VK_KHR_external_memory_fd

It is already supported.

Also remove an outdated TODO because pan_kmod_bo_import supports
reference counting.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31649>
This commit is contained in:
Chia-I Wu
2024-10-10 16:26:09 -07:00
committed by Marge Bot
parent 21f6ec9e8e
commit a78b7d3c52
3 changed files with 2 additions and 6 deletions

View File

@@ -518,7 +518,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_dynamic_rendering_local_read DONE (lvp, nvk, radv)
VK_KHR_external_fence_fd DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_external_fence_win32 not started
VK_KHR_external_memory_fd DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_external_memory_fd DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
VK_KHR_external_memory_win32 DONE (dzn)
VK_KHR_external_semaphore_fd DONE (anv, dzn, hasvk, nvk, pvr, radv, tu, v3dv, vn)
VK_KHR_external_semaphore_win32 DONE (dzn)

View File

@@ -56,11 +56,6 @@ panvk_AllocateMemory(VkDevice _device,
fd_info->handleType == VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ||
fd_info->handleType == VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT);
/*
* TODO Importing the same fd twice gives us the same handle without
* reference counting. We need to maintain a per-instance handle-to-bo
* table and add reference count to panvk_bo.
*/
mem->bo = pan_kmod_bo_import(device->kmod.dev, fd_info->fd, 0);
if (!mem->bo) {
result = panvk_error(device, VK_ERROR_INVALID_EXTERNAL_HANDLE);

View File

@@ -155,6 +155,7 @@ get_device_extensions(const struct panvk_physical_device *device,
.KHR_dynamic_rendering = true,
.KHR_external_fence = true,
.KHR_external_memory = true,
.KHR_external_memory_fd = true,
.KHR_external_semaphore = true,
.KHR_get_memory_requirements2 = true,
.KHR_maintenance1 = true,