Mesa (master): anv/device: Implicitly unmap memory objects in FreeMemory
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Thu Nov 10 02:18:14 UTC 2016
Module: Mesa
Branch: master
Commit: b1217eada9e32bf387d4d14615340aa5b5fd1f5c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1217eada9e32bf387d4d14615340aa5b5fd1f5c
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Mon Nov 7 17:25:07 2016 -0800
anv/device: Implicitly unmap memory objects in FreeMemory
>From the Vulkan spec version 1.0.32 docs for vkFreeMemory:
"If a memory object is mapped at the time it is freed, it is implicitly
unmapped."
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
Cc: "12.0 13.0" <mesa-dev at lists.freedesktop.org>
---
src/intel/vulkan/anv_device.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 528cbe1..0999fcf 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -1235,6 +1235,9 @@ VkResult anv_AllocateMemory(
mem->type_index = pAllocateInfo->memoryTypeIndex;
+ mem->map = NULL;
+ mem->map_size = 0;
+
*pMem = anv_device_memory_to_handle(mem);
return VK_SUCCESS;
@@ -1256,6 +1259,9 @@ void anv_FreeMemory(
if (mem == NULL)
return;
+ if (mem->map)
+ anv_UnmapMemory(_device, _mem);
+
if (mem->bo.map)
anv_gem_munmap(mem->bo.map, mem->bo.size);
@@ -1335,6 +1341,9 @@ void anv_UnmapMemory(
return;
anv_gem_munmap(mem->map, mem->map_size);
+
+ mem->map = NULL;
+ mem->map_size = 0;
}
static void
More information about the mesa-commit
mailing list