MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ buffer_barrier()

void MayaFlux::Portal::Graphics::ShaderFoundry::buffer_barrier ( CommandBufferID  cmd_id,
vk::Buffer  buffer,
vk::AccessFlags  src_access,
vk::AccessFlags  dst_access,
vk::PipelineStageFlags  src_stage,
vk::PipelineStageFlags  dst_stage 
)

Insert buffer memory barrier.

Definition at line 1036 of file ShaderFoundry.cpp.

1043{
1044 auto it = m_command_buffers.find(cmd_id);
1045 if (it == m_command_buffers.end()) {
1046 return;
1047 }
1048
1049 vk::BufferMemoryBarrier barrier;
1050 barrier.srcAccessMask = src_access;
1051 barrier.dstAccessMask = dst_access;
1052 barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1053 barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1054 barrier.buffer = buffer;
1055 barrier.offset = 0;
1056 barrier.size = VK_WHOLE_SIZE;
1057
1058 it->second.cmd.pipelineBarrier(
1059 src_stage,
1060 dst_stage,
1061 vk::DependencyFlags {},
1062 0, nullptr,
1063 1, &barrier,
1064 0, nullptr);
1065}
std::unordered_map< CommandBufferID, CommandBufferState > m_command_buffers

References m_command_buffers.