Mesa (main): lavapipe: allow null handleTypes
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 8 18:42:02 UTC 2022
Module: Mesa
Branch: main
Commit: 3684776f793a4c516cdb6bd85b20933542b5ebb3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3684776f793a4c516cdb6bd85b20933542b5ebb3
Author: Michel Zou <xantares09 at hotmail.com>
Date: Tue Jun 7 21:31:54 2022 +0200
lavapipe: allow null handleTypes
handleTypes is allowed to be null with VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Closes #6501
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16590>
---
src/gallium/frontends/lavapipe/lvp_device.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
index be3f3c97742..bcbbf684b66 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -1645,7 +1645,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_AllocateMemory(
break;
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO:
export_info = (VkExportMemoryAllocateInfo*)ext;
- assert(export_info->handleTypes == VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT);
+ assert(!export_info->handleTypes || export_info->handleTypes == VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT);
break;
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR:
import_info = (VkImportMemoryFdInfoKHR*)ext;
@@ -1690,7 +1690,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_AllocateMemory(
close(import_info->fd);
goto fail;
}
- if (export_info) {
+ if (export_info && export_info->handleTypes) {
mem->backed_fd = import_info->fd;
}
else {
@@ -1698,7 +1698,7 @@ VKAPI_ATTR VkResult VKAPI_CALL lvp_AllocateMemory(
}
mem->memory_type = LVP_DEVICE_MEMORY_TYPE_OPAQUE_FD;
}
- else if (export_info) {
+ else if (export_info && export_info->handleTypes) {
mem->pmem = device->pscreen->allocate_memory_fd(device->pscreen, pAllocateInfo->allocationSize, &mem->backed_fd);
if (!mem->pmem || mem->backed_fd < 0) {
goto fail;
More information about the mesa-commit
mailing list