Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Vulkan::BarrierBundle Class Reference

#include <BarrierBundle.h>

Collaboration diagram for Vulkan::BarrierBundle:

Public Member Functions

 BarrierBundle ()
void addBufferBarrier (const VkBufferMemoryBarrier2 &barrier)
void addMemoryBarrier (const VkMemoryBarrier2 &barrier)
void addComputeBufferBarrier (VkPipelineStageFlags2 srcStageMask, VkAccessFlags2 srcAccessMask, VkPipelineStageFlags2 dstStageMask, VkAccessFlags2 dstAccessMask, const EngineCore::VulkanBuffer &buffer)
VkDependencyInfo getDependencyInfo () const
void clear ()

Private Attributes

std::vector< VkMemoryBarrier2 > memoryBarriers {}
std::vector< VkBufferMemoryBarrier2 > bufferMemoryBarriers {}

Detailed Description

Definition at line 8 of file BarrierBundle.h.

Constructor & Destructor Documentation

◆ BarrierBundle()

Vulkan::BarrierBundle::BarrierBundle ( )

Definition at line 6 of file BarrierBundle.cpp.

Member Function Documentation

◆ addBufferBarrier()

void Vulkan::BarrierBundle::addBufferBarrier ( const VkBufferMemoryBarrier2 & barrier)

Definition at line 9 of file BarrierBundle.cpp.

References bufferMemoryBarriers.

◆ addComputeBufferBarrier()

void Vulkan::BarrierBundle::addComputeBufferBarrier ( VkPipelineStageFlags2 srcStageMask,
VkAccessFlags2 srcAccessMask,
VkPipelineStageFlags2 dstStageMask,
VkAccessFlags2 dstAccessMask,
const EngineCore::VulkanBuffer & buffer )

Definition at line 17 of file BarrierBundle.cpp.

References bufferMemoryBarriers, EngineCore::VulkanBuffer::getBuffer(), and EngineCore::VulkanBuffer::getBufferSize().

Referenced by EngineCore::Renderer::getMeshletCullingDispatchToMeshletCullingBarriers(), EngineCore::Renderer::getMeshletCullingToPrepareDrawBarriers(), EngineCore::Renderer::getMeshletUnpackingDispatchToMeshletUnpackingBarriers(), EngineCore::Renderer::getMeshletUnpackingToMeshletCullingDispatchBarriers(), and EngineCore::Renderer::getObjectCullingToMeshletUnpackingDispatchBarriers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addMemoryBarrier()

void Vulkan::BarrierBundle::addMemoryBarrier ( const VkMemoryBarrier2 & barrier)

Definition at line 13 of file BarrierBundle.cpp.

References memoryBarriers.

◆ clear()

void Vulkan::BarrierBundle::clear ( )

Definition at line 45 of file BarrierBundle.cpp.

References bufferMemoryBarriers, and memoryBarriers.

Referenced by EngineCore::Renderer::getMeshletCullingDispatchToMeshletCullingBarriers(), and EngineCore::Renderer::getMeshletCullingToPrepareDrawBarriers().

Here is the caller graph for this function:

◆ getDependencyInfo()

VkDependencyInfo Vulkan::BarrierBundle::getDependencyInfo ( ) const

Member Data Documentation

◆ bufferMemoryBarriers

std::vector<VkBufferMemoryBarrier2> Vulkan::BarrierBundle::bufferMemoryBarriers {}
private

◆ memoryBarriers

std::vector<VkMemoryBarrier2> Vulkan::BarrierBundle::memoryBarriers {}
private

Definition at line 28 of file BarrierBundle.h.

Referenced by addMemoryBarrier(), clear(), and getDependencyInfo().


The documentation for this class was generated from the following files:
  • /home/magerbeton/Documents/gl3-vulkan/Engine/include/Engine/Vulkan/BarrierBundle.h
  • /home/magerbeton/Documents/gl3-vulkan/Engine/src/Engine/Vulkan/BarrierBundle.cpp