SpiecsEngine
 
Loading...
Searching...
No Matches

◆ InternalRegionBarrierAsync()

void Spices::Renderer::RenderBehaveBuilder::InternalRegionBarrierAsync ( VkAccessFlags srcAccessMask,
VkAccessFlags dstAccessMask,
VkPipelineStageFlags srcStageMask,
VkPipelineStageFlags dstStageMask ) const

Add a memory Barrier.

Parameters
[in]srcAccessMaskVkAccessFlags.
[in]dstAccessMaskVkAccessFlags.
[in]srcStageMaskVkPipelineStageFlags.
[in]dstStageMaskVkPipelineStageFlags.

Instance a VkMemoryBarrier.

Call vkCmdPipelineBarrier.

Instance a VkMemoryBarrier.

Call vkCmdPipelineBarrier.

Definition at line 1497 of file Renderer.cpp.

1503 {
1505
1509 VkMemoryBarrier barrier{};
1510 barrier.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER;
1511 barrier.srcAccessMask = srcAccessMask;
1512 barrier.dstAccessMask = dstAccessMask;
1513
1517 m_Renderer->SubmitCmdsParallel(m_CommandBuffer, m_SubPassIndex, [&](const VkCommandBuffer& cmdBuffer) {
1518 vkCmdPipelineBarrier(
1519 cmdBuffer,
1520 srcStageMask,
1521 dstStageMask,
1522 VK_DEPENDENCY_BY_REGION_BIT,
1523 1, &barrier,
1524 0, nullptr,
1525 0, nullptr
1526 );
1527 });
1528 }
#define SPICES_PROFILE_ZONE
uint32_t m_SubPassIndex
Current subPass Index.
Definition Renderer.h:1534
Renderer * m_Renderer
Specific Renderer pointer. Passed while this class instanced.
Definition Renderer.h:1515
VkCommandBuffer m_CommandBuffer
Current CommandBuffer.
Definition Renderer.h:1539
std::future< VkCommandBuffer > SubmitCmdsParallel(VkCommandBuffer primaryCmdBuffer, uint32_t subPass, F &&func)
Submit a group of commands to secondary command buffer, and execute all of them.
Definition Renderer.h:2273