mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2026-05-10 11:11:40 +00:00
feat(bindless): Fix barrier placement after updating uniform buffer
This commit is contained in:
parent
a75da595e3
commit
6266a443ed
1 changed files with 26 additions and 0 deletions
|
|
@ -794,6 +794,19 @@ vk::CommandBuffer Pipeline::buildTransCmdbuf(
|
|||
vk::CommandBufferUsageFlagBits::eOneTimeSubmit
|
||||
}, dld);
|
||||
|
||||
vk::BufferMemoryBarrier2KHR barrier{
|
||||
.srcStageMask = vk::PipelineStageFlagBits2::eComputeShader,
|
||||
.srcAccessMask = vk::AccessFlagBits2::eUniformRead,
|
||||
.dstStageMask = vk::PipelineStageFlagBits2::eTransfer,
|
||||
.dstAccessMask = vk::AccessFlagBits2::eTransferWrite,
|
||||
.buffer = *this->m_descriptorSet.buffer.first,
|
||||
.size = 4
|
||||
};
|
||||
cmdbuf->pipelineBarrier2KHR({
|
||||
.bufferMemoryBarrierCount = 1,
|
||||
.pBufferMemoryBarriers = &barrier
|
||||
}, dld);
|
||||
|
||||
const UniformBuffer buf{
|
||||
.timestamp = static_cast<float>(index + 1) / static_cast<float>(total + 1),
|
||||
.iteration = iteration
|
||||
|
|
@ -806,6 +819,19 @@ vk::CommandBuffer Pipeline::buildTransCmdbuf(
|
|||
dld
|
||||
);
|
||||
|
||||
barrier = {
|
||||
.srcStageMask = vk::PipelineStageFlagBits2::eTransfer,
|
||||
.srcAccessMask = vk::AccessFlagBits2::eTransferWrite,
|
||||
.dstStageMask = vk::PipelineStageFlagBits2::eComputeShader,
|
||||
.dstAccessMask = vk::AccessFlagBits2::eUniformRead,
|
||||
.buffer = *this->m_descriptorSet.buffer.first,
|
||||
.size = 4
|
||||
};
|
||||
cmdbuf->pipelineBarrier2KHR({
|
||||
.bufferMemoryBarrierCount = 1,
|
||||
.pBufferMemoryBarriers = &barrier
|
||||
}, dld);
|
||||
|
||||
cmdbuf->end(dld);
|
||||
|
||||
return *cmdbuf;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue