[Mesa-dev] [PATCH v2 07/32] radv: Implement VK_EXT_external_memory_dma_buf
Chad Versace
chadversary at chromium.org
Wed Nov 29 21:41:56 UTC 2017
On Tue 28 Nov 2017, Jason Ekstrand wrote:
> ---
> src/amd/vulkan/radv_device.c | 8 ++++++--
> src/amd/vulkan/radv_extensions.py | 1 +
> src/amd/vulkan/radv_formats.c | 8 ++++++--
> 3 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
> index 8e5ae0b..4517227 100644
> --- a/src/amd/vulkan/radv_device.c
> +++ b/src/amd/vulkan/radv_device.c
> @@ -2166,7 +2166,9 @@ VkResult radv_alloc_memory(VkDevice _device,
>
> if (import_info) {
> assert(import_info->handleType ==
> - VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR);
> + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ||
> + import_info->handleType ==
> + VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT);
> mem->bo = device->ws->buffer_from_fd(device->ws, import_info->fd,
> NULL, NULL);
> if (!mem->bo) {
> @@ -3540,7 +3542,9 @@ VkResult radv_GetMemoryFdKHR(VkDevice _device,
>
> /* We support only one handle type. */
This comment needs updating. I suggest copy-pasting the comment from
anvil.
> assert(pGetFdInfo->handleType ==
> - VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR);
> + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR ||
> + pGetFdInfo->handleType ==
> + VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT);
>
> bool ret = radv_get_memory_fd(device, memory, pFD);
> if (ret == false)
Also, radv_GetMemoryFdPropertiesKHR() (the next function in this file)
needs updating to support dma-buf. Today it unconditionally fails.
More information about the mesa-dev
mailing list