From 401705ec15c267fdb8931309655bcca1e2847612 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 9 Nov 2017 15:09:51 +0000 Subject: [PATCH] Mark barriers as containing optional resources --- renderdoc/driver/vulkan/vk_serialise.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_serialise.cpp b/renderdoc/driver/vulkan/vk_serialise.cpp index 1874fe505..9fd49d2eb 100644 --- a/renderdoc/driver/vulkan/vk_serialise.cpp +++ b/renderdoc/driver/vulkan/vk_serialise.cpp @@ -1213,6 +1213,10 @@ void DoSerialise(SerialiserType &ser, VkBufferMemoryBarrier &el) RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER); SerialiseNext(ser, el.sType, el.pNext); + // Resources in this struct are optional, because if we decided a resource wasn't used - we + // might still have recorded some barriers on it + OPTIONAL_RESOURCES(); + SERIALISE_MEMBER_TYPED(VkAccessFlagBits, srcAccessMask); SERIALISE_MEMBER_TYPED(VkAccessFlagBits, dstAccessMask); // serialise as signed because then QUEUE_FAMILY_IGNORED is -1 and queue @@ -1230,6 +1234,10 @@ void DoSerialise(SerialiserType &ser, VkImageMemoryBarrier &el) RDCASSERT(ser.IsReading() || el.sType == VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER); SerialiseNext(ser, el.sType, el.pNext); + // Resources in this struct are optional, because if we decided a resource wasn't used - we + // might still have recorded some barriers on it + OPTIONAL_RESOURCES(); + SERIALISE_MEMBER_TYPED(VkAccessFlagBits, srcAccessMask); SERIALISE_MEMBER_TYPED(VkAccessFlagBits, dstAccessMask); SERIALISE_MEMBER(oldLayout);