diff --git a/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp index 4396d267e..908aa5348 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp @@ -2321,6 +2321,22 @@ VkResult WrappedVulkan::vkDebugMarkerSetObjectNameEXT(VkDevice device, Chunk *chunk = scope.Get(); + data.record->LockChunks(); + while(data.record->HasChunks()) + { + Chunk *end = data.record->GetLastChunk(); + + if(end->GetChunkType() == VulkanChunk::vkDebugMarkerSetObjectNameEXT) + { + end->Delete(); + data.record->PopChunk(); + continue; + } + + break; + } + data.record->UnlockChunks(); + data.record->AddChunk(chunk); } } @@ -2449,6 +2465,22 @@ VkResult WrappedVulkan::vkSetDebugUtilsObjectNameEXT(VkDevice device, Chunk *chunk = scope.Get(); + data.record->LockChunks(); + while(data.record->HasChunks()) + { + Chunk *end = data.record->GetLastChunk(); + + if(end->GetChunkType() == VulkanChunk::vkSetDebugUtilsObjectNameEXT) + { + end->Delete(); + data.record->PopChunk(); + continue; + } + + break; + } + data.record->UnlockChunks(); + data.record->AddChunk(chunk); } }