From cdce2d64f3ee1de913a7230915b9af9abd7f649b Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Wed, 15 Apr 2026 15:16:38 -0500 Subject: [PATCH] fix vkBindImageMemory and vkFlushMappedMemoryRanges validation errors --- src/collada/scene/vulkan.cpp | 2 +- src/main.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/collada/scene/vulkan.cpp b/src/collada/scene/vulkan.cpp index 996419c..442e7ce 100644 --- a/src/collada/scene/vulkan.cpp +++ b/src/collada/scene/vulkan.cpp @@ -169,7 +169,7 @@ namespace collada::scene { // copy data void * vertexIndexMappedData; - VK_CHECK(vkMapMemory(device, vertexIndex.memory, 0, vertexIndexBufferCreateInfo.size, 0, &vertexIndexMappedData)); + VK_CHECK(vkMapMemory(device, vertexIndex.memory, 0, VK_WHOLE_SIZE, 0, &vertexIndexMappedData)); memcpy((void *)(((ptrdiff_t)vertexIndexMappedData) + 0), vertexStart, vertexSize); memcpy((void *)(((ptrdiff_t)vertexIndexMappedData) + vertexSize), indexStart, indexSize); diff --git a/src/main.cpp b/src/main.cpp index fa77cb2..1e27400 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -164,7 +164,7 @@ void createDepth(VkPhysicalDeviceMemoryProperties const & physicalDeviceMemoryPr VK_CHECK(vkCreateImage(device, &imageCreateInfo, nullptr, image)); VkMemoryRequirements memoryRequirements; - vkGetImageMemoryRequirements(device, depthImage, &memoryRequirements); + vkGetImageMemoryRequirements(device, *image, &memoryRequirements); VkMemoryPropertyFlags memoryPropertyFlags{ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT }; VkMemoryAllocateFlags memoryAllocateFlags{ }; allocateFromMemoryRequirements(device, @@ -561,7 +561,7 @@ int main() VK_CHECK(vkBindBufferMemory(device, vertexIndexBuffer, vertexIndexBufferMemory, 0)); void * vertexIndexMappedData; - VK_CHECK(vkMapMemory(device, vertexIndexBufferMemory, 0, vertexIndexBufferCreateInfo.size, 0, &vertexIndexMappedData)); + VK_CHECK(vkMapMemory(device, vertexIndexBufferMemory, 0, VK_WHOLE_SIZE, 0, &vertexIndexMappedData)); memcpy((void *)(((ptrdiff_t)vertexIndexMappedData) + 0), vertexStart, vertexSize); memcpy((void *)(((ptrdiff_t)vertexIndexMappedData) + vertexSize), indexStart, indexSize);