MayaFlux 0.3.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 1051 of file ShaderFoundry.cpp.

1058{
1059 auto it = m_command_buffers.find(cmd_id);
1060 if (it == m_command_buffers.end()) {
1061 return;
1062 }
1063
1064 vk::BufferMemoryBarrier barrier;
1065 barrier.srcAccessMask = src_access;
1066 barrier.dstAccessMask = dst_access;
1067 barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1068 barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1069 barrier.buffer = buffer;
1070 barrier.offset = 0;
1071 barrier.size = VK_WHOLE_SIZE;
1072
1073 it->second.cmd.pipelineBarrier(
1074 src_stage,
1075 dst_stage,
1076 vk::DependencyFlags {},
1077 0, nullptr,
1078 1, &barrier,
1079 0, nullptr);
1080}
std::unordered_map< CommandBufferID, CommandBufferState > m_command_buffers

References m_command_buffers.