Add pipeline bit to remove validation message

This commit is contained in:
baldurk
2025-12-08 15:22:58 +00:00
parent 83b1638174
commit 762fc1b445
2 changed files with 26 additions and 21 deletions
+18 -15
View File
@@ -673,31 +673,34 @@ VkShaderStageFlags ShaderMaskFromIndex(size_t index)
void DoPipelineBarrier(VkCommandBuffer cmd, size_t count, const VkImageMemoryBarrier *barriers)
{
RDCASSERT(cmd != VK_NULL_HANDLE);
ObjDisp(cmd)->CmdPipelineBarrier(Unwrap(cmd), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 0,
NULL, // global memory barriers
0, NULL, // buffer memory barriers
(uint32_t)count, barriers); // image memory barriers
ObjDisp(cmd)->CmdPipelineBarrier(
Unwrap(cmd), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT, 0, 0,
NULL, // global memory barriers
0, NULL, // buffer memory barriers
(uint32_t)count, barriers); // image memory barriers
}
void DoPipelineBarrier(VkCommandBuffer cmd, size_t count, const VkBufferMemoryBarrier *barriers)
{
RDCASSERT(cmd != VK_NULL_HANDLE);
ObjDisp(cmd)->CmdPipelineBarrier(Unwrap(cmd), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 0,
NULL, // global memory barriers
(uint32_t)count, barriers, // buffer memory barriers
0, NULL); // image memory barriers
ObjDisp(cmd)->CmdPipelineBarrier(
Unwrap(cmd), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT, 0, 0,
NULL, // global memory barriers
(uint32_t)count, barriers, // buffer memory barriers
0, NULL); // image memory barriers
}
void DoPipelineBarrier(VkCommandBuffer cmd, size_t count, const VkMemoryBarrier *barriers)
{
RDCASSERT(cmd != VK_NULL_HANDLE);
ObjDisp(cmd)->CmdPipelineBarrier(Unwrap(cmd), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, (uint32_t)count,
barriers, // global memory barriers
0, NULL, // buffer memory barriers
0, NULL); // image memory barriers
ObjDisp(cmd)->CmdPipelineBarrier(
Unwrap(cmd), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT, 0, (uint32_t)count,
barriers, // global memory barriers
0, NULL, // buffer memory barriers
0, NULL); // image memory barriers
}
VkDescriptorType MakeVkDescriptorType(DescriptorType type, bool inputAttachment)
@@ -139,9 +139,10 @@ void WrappedVulkan::ExecuteIndirectReadback(VkCommandBuffer commandBuffer,
const VkIndirectRecordData &indirectcopy)
{
ObjDisp(commandBuffer)
->CmdPipelineBarrier(Unwrap(commandBuffer), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 0, NULL, 1,
&indirectcopy.paramsBarrier, 0, NULL);
->CmdPipelineBarrier(Unwrap(commandBuffer),
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT, 0, 0,
NULL, 1, &indirectcopy.paramsBarrier, 0, NULL);
ObjDisp(commandBuffer)
->CmdCopyBuffer(Unwrap(commandBuffer), Unwrap(indirectcopy.paramsCopy.src),
@@ -150,9 +151,10 @@ void WrappedVulkan::ExecuteIndirectReadback(VkCommandBuffer commandBuffer,
if(indirectcopy.countCopy.src != VK_NULL_HANDLE)
{
ObjDisp(commandBuffer)
->CmdPipelineBarrier(Unwrap(commandBuffer), VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 0, NULL, 1,
&indirectcopy.countBarrier, 0, NULL);
->CmdPipelineBarrier(Unwrap(commandBuffer),
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT | VK_PIPELINE_STAGE_HOST_BIT, 0, 0,
NULL, 1, &indirectcopy.countBarrier, 0, NULL);
ObjDisp(commandBuffer)
->CmdCopyBuffer(Unwrap(commandBuffer), Unwrap(indirectcopy.countCopy.src),