From ff5f946e1ee980759ede5df5942527607115ed28 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 4 Apr 2019 13:10:29 +0100 Subject: [PATCH] Don't transition images to UNDEFINED if that's their initial known state --- renderdoc/driver/vulkan/vk_manager.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/vk_manager.cpp b/renderdoc/driver/vulkan/vk_manager.cpp index f0cec2f95..48fbeb16f 100644 --- a/renderdoc/driver/vulkan/vk_manager.cpp +++ b/renderdoc/driver/vulkan/vk_manager.cpp @@ -284,8 +284,14 @@ void VulkanResourceManager::SerialiseImageStates(SerialiserType &ser, state.dstQueueFamilyIndex = t.dstQueueFamilyIndex; t.image = Unwrap(GetCurrentHandle(liveid)); t.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED; - ReplacePresentableImageLayout(state.newLayout); t.newLayout = state.newLayout; + + // sanitise the new layout + ReplacePresentableImageLayout(state.newLayout); + if(t.newLayout == VK_IMAGE_LAYOUT_UNDEFINED) + t.newLayout = VK_IMAGE_LAYOUT_GENERAL; + if(state.newLayout == VK_IMAGE_LAYOUT_UNDEFINED) + state.newLayout = VK_IMAGE_LAYOUT_GENERAL; t.subresourceRange = state.subresourceRange; barriers.push_back(t); vec.push_back(std::make_pair(liveid, state));