dzn: Check that no export is requested in the memory allocation path
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 19 Apr 2022 09:10:52 +0000 (11:10 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 14 Jun 2022 22:44:42 +0000 (22:44 +0000)
We don't support exporting memory objects yet, so let's make sure the
user doesn't request that.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16926>

src/microsoft/vulkan/dzn_device.c

index 83c47e3..65a113c 100644 (file)
@@ -2142,13 +2142,20 @@ dzn_device_memory_create(struct dzn_device *device,
 
    mem->size = pAllocateInfo->allocationSize;
 
-#if 0
-   const VkExportMemoryAllocateInfo *export_info = NULL;
-   VkMemoryAllocateFlags vk_flags = 0;
-#endif
-
    vk_foreach_struct_const(ext, pAllocateInfo->pNext) {
-      dzn_debug_ignored_stype(ext->sType);
+      switch (ext->sType) {
+      case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: {
+         const VkExportMemoryAllocateInfo *exp =
+            (const VkExportMemoryAllocateInfo *)ext;
+
+         // TODO: support export
+         assert(exp->handleTypes == 0);
+         break;
+      }
+      default:
+         dzn_debug_ignored_stype(ext->sType);
+         break;
+      }
    }
 
    const VkMemoryType *mem_type =