From: Jason Ekstrand Date: Tue, 8 Nov 2016 01:23:44 +0000 (-0800) Subject: anv/device: Add some asserts to MapMemory X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=73ef9c8f047835d369db3646853cdb25442db8d3;p=mesa.git anv/device: Add some asserts to MapMemory Signed-off-by: Jason Ekstrand --- diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index a9aa64656ce..abc511c4d24 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1283,6 +1283,16 @@ VkResult anv_MapMemory( if (size == VK_WHOLE_SIZE) size = mem->bo.size - offset; + /* From the Vulkan spec version 1.0.32 docs for MapMemory: + * + * * If size is not equal to VK_WHOLE_SIZE, size must be greater than 0 + * assert(size != 0); + * * If size is not equal to VK_WHOLE_SIZE, size must be less than or + * equal to the size of the memory minus offset + */ + assert(size > 0); + assert(offset + size <= mem->bo.size); + /* FIXME: Is this supposed to be thread safe? Since vkUnmapMemory() only * takes a VkDeviceMemory pointer, it seems like only one map of the memory * at a time is valid. We could just mmap up front and return an offset