mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Add some missing image layout sanitisation
This commit is contained in:
@@ -596,6 +596,9 @@ bool VulkanReplay::RenderTextureInternal(TextureDisplay cfg, VkRenderPassBeginIn
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.newLayout = layouts.subresourceStates[si].newLayout;
|
||||
srcimBarrier.dstAccessMask = MakeAccessMask(srcimBarrier.newLayout);
|
||||
|
||||
SanitiseNewImageLayout(srcimBarrier.newLayout);
|
||||
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
|
||||
@@ -2037,6 +2037,7 @@ bool VulkanReplay::GetMinMax(ResourceId texid, uint32_t sliceFace, uint32_t mip,
|
||||
{
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.oldLayout = layouts.subresourceStates[si].newLayout;
|
||||
SanitiseOldImageLayout(srcimBarrier.oldLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
}
|
||||
|
||||
@@ -2063,6 +2064,7 @@ bool VulkanReplay::GetMinMax(ResourceId texid, uint32_t sliceFace, uint32_t mip,
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.newLayout = layouts.subresourceStates[si].newLayout;
|
||||
srcimBarrier.dstAccessMask = MakeAccessMask(srcimBarrier.newLayout);
|
||||
SanitiseNewImageLayout(srcimBarrier.newLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
}
|
||||
|
||||
@@ -2368,6 +2370,7 @@ bool VulkanReplay::GetHistogram(ResourceId texid, uint32_t sliceFace, uint32_t m
|
||||
{
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.oldLayout = layouts.subresourceStates[si].newLayout;
|
||||
SanitiseOldImageLayout(srcimBarrier.oldLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
}
|
||||
|
||||
@@ -2397,6 +2400,7 @@ bool VulkanReplay::GetHistogram(ResourceId texid, uint32_t sliceFace, uint32_t m
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.newLayout = layouts.subresourceStates[si].newLayout;
|
||||
srcimBarrier.dstAccessMask = MakeAccessMask(srcimBarrier.newLayout);
|
||||
SanitiseNewImageLayout(srcimBarrier.newLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
}
|
||||
|
||||
@@ -2848,6 +2852,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mi
|
||||
{
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.oldLayout = layouts.subresourceStates[si].newLayout;
|
||||
SanitiseOldImageLayout(srcimBarrier.oldLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
@@ -2887,6 +2892,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mi
|
||||
{
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.newLayout = layouts.subresourceStates[si].newLayout;
|
||||
SanitiseNewImageLayout(srcimBarrier.newLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
@@ -3007,6 +3013,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mi
|
||||
{
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.oldLayout = layouts.subresourceStates[si].newLayout;
|
||||
SanitiseOldImageLayout(srcimBarrier.oldLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
@@ -3059,6 +3066,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mi
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.newLayout = layouts.subresourceStates[si].newLayout;
|
||||
srcimBarrier.dstAccessMask = MakeAccessMask(srcimBarrier.newLayout);
|
||||
SanitiseNewImageLayout(srcimBarrier.newLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
@@ -3133,6 +3141,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mi
|
||||
{
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.oldLayout = layouts.subresourceStates[si].newLayout;
|
||||
SanitiseOldImageLayout(srcimBarrier.oldLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
@@ -3281,6 +3290,7 @@ void VulkanReplay::GetTextureData(ResourceId tex, uint32_t arrayIdx, uint32_t mi
|
||||
srcimBarrier.subresourceRange = layouts.subresourceStates[si].subresourceRange;
|
||||
srcimBarrier.newLayout = layouts.subresourceStates[si].newLayout;
|
||||
srcimBarrier.dstAccessMask = MakeAccessMask(srcimBarrier.newLayout);
|
||||
SanitiseNewImageLayout(srcimBarrier.newLayout);
|
||||
DoPipelineBarrier(cmd, 1, &srcimBarrier);
|
||||
|
||||
if(extQCmd != VK_NULL_HANDLE)
|
||||
|
||||
Reference in New Issue
Block a user