SpiecsEngine
 
Loading...
Searching...
No Matches

◆ InternalBarriers() [2/3]

void Spices::Renderer::RenderBehaveBuilder::InternalBarriers ( VkBuffer buffer,
VkAccessFlags srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT,
VkAccessFlags dstAccessMask = VK_ACCESS_SHADER_READ_BIT,
VkPipelineStageFlags srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT,
VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,
VkCommandBuffer cmdBuffer = VK_NULL_HANDLE )
virtual

Add a Buffer Barrier from this queue to this queue.

Parameters
[in]bufferVulkanImage.
[in]srcAccessMaskVkAccessFlags.
[in]dstAccessMaskVkAccessFlags.
[in]srcStageMaskVkPipelineStageFlags.
[in]dstStageMaskVkPipelineStageFlags.
[in]cmdBufferInput a VkCommandBuffer if needs, otherwise use self variable.

Reimplemented in Spices::Renderer::ComputeRenderBehaveBuilder.

Definition at line 2116 of file Renderer.cpp.

2124 {
2126
2127 VkBufferMemoryBarrier bufferBarrier {};
2128 bufferBarrier.sType = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
2129 bufferBarrier.srcAccessMask = srcAccessMask;
2130 bufferBarrier.dstAccessMask = dstAccessMask;
2131 bufferBarrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
2132 bufferBarrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
2133 bufferBarrier.size = VK_WHOLE_SIZE;
2134 bufferBarrier.buffer = buffer;
2135
2136 vkCmdPipelineBarrier(
2137 cmdBuffer ? cmdBuffer : m_CommandBuffer,
2138 srcStageMask,
2139 dstStageMask,
2140 0,
2141 0, nullptr,
2142 1, &bufferBarrier,
2143 0, nullptr
2144 );
2145 }
#define SPICES_PROFILE_ZONE
VkCommandBuffer m_CommandBuffer
Current CommandBuffer.
Definition Renderer.h:1539