From 0cd9a2e8e9bb96659334631bd0f8b472d658c1c1 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Thu, 13 Jan 2022 12:03:44 -0800 Subject: [PATCH] fix validation error on exit --- src/Refresh_Driver_Vulkan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Refresh_Driver_Vulkan.c b/src/Refresh_Driver_Vulkan.c index cefc75c..06f9a19 100644 --- a/src/Refresh_Driver_Vulkan.c +++ b/src/Refresh_Driver_Vulkan.c @@ -3266,6 +3266,7 @@ static void VULKAN_INTERNAL_RotateBoundUniformBuffers( for (i = 0; i < uniformBufferPool->submittedBufferCount; i += 1) { + uniformBufferPool->submittedBuffers[i]->vulkanBuffer->bound = 0; uniformBufferPool->availableBuffers[uniformBufferPool->availableBufferCount] = uniformBufferPool->submittedBuffers[i]; uniformBufferPool->availableBufferCount += 1; } @@ -4532,6 +4533,10 @@ static void VULKAN_DestroyDevice( LogVulkanResultAsError("vkDeviceWaitIdle", waitResult); } + /* We have to do this twice so the rotation happens correctly */ + VULKAN_INTERNAL_PostWorkCleanup(renderer); + VULKAN_INTERNAL_PostWorkCleanup(renderer); + VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyVertexUniformBuffer->vulkanBuffer); VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyFragmentUniformBuffer->vulkanBuffer); VULKAN_INTERNAL_DestroyBuffer(renderer, renderer->dummyComputeUniformBuffer->vulkanBuffer);