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

◆ image_barrier()

void MayaFlux::Portal::Graphics::ShaderFoundry::image_barrier ( CommandBufferID  cmd_id,
vk::Image  image,
vk::ImageLayout  old_layout,
vk::ImageLayout  new_layout,
vk::AccessFlags  src_access,
vk::AccessFlags  dst_access,
vk::PipelineStageFlags  src_stage,
vk::PipelineStageFlags  dst_stage 
)

Insert image memory barrier.

Definition at line 1086 of file ShaderFoundry.cpp.

1095{
1096 auto it = m_command_buffers.find(cmd_id);
1097 if (it == m_command_buffers.end()) {
1098 return;
1099 }
1100
1101 vk::ImageMemoryBarrier barrier;
1102 barrier.srcAccessMask = src_access;
1103 barrier.dstAccessMask = dst_access;
1104 barrier.oldLayout = old_layout;
1105 barrier.newLayout = new_layout;
1106 barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1107 barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
1108 barrier.image = image;
1109 barrier.subresourceRange.aspectMask = vk::ImageAspectFlagBits::eColor;
1110 barrier.subresourceRange.baseMipLevel = 0;
1111 barrier.subresourceRange.levelCount = 1;
1112 barrier.subresourceRange.baseArrayLayer = 0;
1113 barrier.subresourceRange.layerCount = 1;
1114
1115 it->second.cmd.pipelineBarrier(
1116 src_stage,
1117 dst_stage,
1118 vk::DependencyFlags {},
1119 0, nullptr,
1120 0, nullptr,
1121 1, &barrier);
1122}
IO::ImageData image
Definition Decoder.cpp:57
std::unordered_map< CommandBufferID, CommandBufferState > m_command_buffers

References image, and m_command_buffers.