From 9b7cba7724f5cc407a889a1feeccf7c9fb105f50 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 22 Jun 2021 21:36:41 +0300 Subject: [PATCH] anv: bound checks buffer memory binding in debug builds Validation layers should warn you about this (VUID-VkBindBufferMemoryInfo-size-01037) but this would be useful for zink debugging. Requested by Zmike. v2: Also check memoryOffset (Jason) Signed-off-by: Lionel Landwerlin Reviewed-by: Jason Ekstrand Part-of: --- src/intel/vulkan/anv_device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 8943097c08f..5597b065467 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -4333,6 +4333,8 @@ anv_bind_buffer_memory(const VkBindBufferMemoryInfo *pBindInfo) assert(pBindInfo->sType == VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO); if (mem) { + assert(pBindInfo->memoryOffset < mem->bo->size); + assert(mem->bo->size - pBindInfo->memoryOffset >= buffer->size); buffer->address = (struct anv_address) { .bo = mem->bo, .offset = pBindInfo->memoryOffset,