Include a barrier for conditional rendering read

This commit is contained in:
Marcin Mikołajczyk 2025-05-27 18:03:38 +01:00
parent 979e17459f
commit 4a49e2bb31

View File

@ -1309,8 +1309,17 @@ void Rasterizer::StartPredication(VAddr addr, bool draw_if_visible, bool wait_fo
.offset = index * sizeof(u32),
.size = sizeof(u32),
};
const vk::MemoryBarrier2 ib_barrier{
.srcStageMask = vk::PipelineStageFlagBits2::eCopy,
.srcAccessMask = vk::AccessFlagBits2::eTransferWrite,
.dstStageMask = vk::PipelineStageFlagBits2::eConditionalRenderingEXT,
.dstAccessMask = vk::AccessFlagBits2::eConditionalRenderingReadEXT,
};
cmdbuf.pipelineBarrier2(vk::DependencyInfo{
.dependencyFlags = vk::DependencyFlagBits::eByRegion,
.memoryBarrierCount = 1,
.pMemoryBarriers = &ib_barrier,
.bufferMemoryBarrierCount = 1,
.pBufferMemoryBarriers = &pre_barrier,
});