MayaFlux 0.5.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 1162 of file ShaderFoundry.cpp.

1169{
1170 auto it = m_command_buffers.find(cmd_id);
1171 if (it == m_command_buffers.end()) {
1172 return;
1173 }
1174
1175 vk::BufferMemoryBarrier barrier;
1176 barrier.srcAccessMask = src_access;
1177 barrier.dstAccessMask = dst_access;
1178 barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1179 barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1180 barrier.buffer = buffer;
1181 barrier.offset = 0;
1182 barrier.size = VK_WHOLE_SIZE;
1183
1184 it->second.cmd.pipelineBarrier(
1185 src_stage,
1186 dst_stage,
1187 vk::DependencyFlags {},
1188 0, nullptr,
1189 1, &barrier,
1190 0, nullptr);
1191}
std::unordered_map< CommandBufferID, CommandBufferState > m_command_buffers

References m_command_buffers.