From a1c72464fd623e41607bd9fea8ead61f36901548 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 4 Oct 2016 14:16:00 +0200 Subject: [PATCH] Fix a case where UNKNOWN_PREV_IMG_LAYOUT could leak out into barrier * In this case we fall back to transitioning from LAYOUT_UNDEFINED --- renderdoc/driver/vulkan/vk_manager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_manager.cpp b/renderdoc/driver/vulkan/vk_manager.cpp index 834c40ea2..5ed8fe3d7 100644 --- a/renderdoc/driver/vulkan/vk_manager.cpp +++ b/renderdoc/driver/vulkan/vk_manager.cpp @@ -317,6 +317,9 @@ void VulkanResourceManager::SerialiseImageStates(map & // erase any do-nothing barriers for(auto it = barriers.begin(); it != barriers.end();) { + if(it->oldLayout == UNKNOWN_PREV_IMG_LAYOUT) + it->oldLayout = VK_IMAGE_LAYOUT_UNDEFINED; + if(it->oldLayout == it->newLayout) it = barriers.erase(it); else @@ -424,6 +427,8 @@ void VulkanResourceManager::ApplyBarriers(vectoroldLayout == UNKNOWN_PREV_IMG_LAYOUT) + it->oldLayout = t.oldLayout; t.oldLayout = it->newLayout; it->newLayout = t.newLayout;