mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Sanitise renderpass barrier layouts before applying them
This commit is contained in:
@@ -1487,8 +1487,14 @@ bool WrappedVulkan::Serialise_vkEndCommandBuffer(SerialiserType &ser, VkCommandB
|
||||
// do the barriers in reverse order
|
||||
std::reverse(endBarriers.begin(), endBarriers.end());
|
||||
for(VkImageMemoryBarrier &barrier : endBarriers)
|
||||
{
|
||||
std::swap(barrier.oldLayout, barrier.newLayout);
|
||||
|
||||
// sanitise layouts before passing to vulkan
|
||||
SanitiseOldImageLayout(barrier.oldLayout);
|
||||
SanitiseReplayImageLayout(barrier.newLayout);
|
||||
}
|
||||
|
||||
// it's unnecessary to replay barriers towards an undefined layout, since every layout
|
||||
// can be considered as undefined
|
||||
endBarriers.removeIf([](const VkImageMemoryBarrier &b) {
|
||||
|
||||
Reference in New Issue
Block a user