VkCV Framework  0.0.1
CV Vulkan framework
vkcv::GraphicsPipelineManager Class Reference

Classes

struct  GraphicsPipeline
 

Public Member Functions

 GraphicsPipelineManager (vk::Device device, vk::PhysicalDevice physicalDevice) noexcept
 
 GraphicsPipelineManager (const GraphicsPipelineManager &other)=delete
 
 GraphicsPipelineManager (GraphicsPipelineManager &&other)=delete
 
GraphicsPipelineManageroperator= (const GraphicsPipelineManager &other)=delete
 
GraphicsPipelineManageroperator= (GraphicsPipelineManager &&other)=delete
 
GraphicsPipelineHandle createPipeline (const GraphicsPipelineConfig &config, PassManager &passManager)
 
vk::Pipeline getVkPipeline (const GraphicsPipelineHandle &handle) const
 
vk::PipelineLayout getVkPipelineLayout (const GraphicsPipelineHandle &handle) const
 
const GraphicsPipelineConfiggetPipelineConfig (const GraphicsPipelineHandle &handle) const
 

Private Member Functions

void destroyPipelineById (uint64_t id)
 

Private Attributes

vk::Device m_Device
 
vk::PhysicalDevice m_physicalDevice
 
std::vector< GraphicsPipelinem_Pipelines
 

Detailed Description

Member Function Documentation

◆ createPipeline()

GraphicsPipelineHandle vkcv::GraphicsPipelineManager::createPipeline ( const GraphicsPipelineConfig config,
PassManager passManager 
)

Creates a Graphics Pipeline based on the set shader stages in the Config Struct. This function is wrapped in /src/vkcv/Core.cpp by Core::createGraphicsPipeline(const PipelineConfig &config). Therefore the passManager is filled already by the overall context of an application. On application level it is necessary first to fill a PipelineConfig Struct.

Parameters
configHands over all needed information for pipeline creation.
passManagerHands over the corresponding render pass.
Returns
A Handler to the created Graphics Pipeline Object.

◆ getPipelineConfig()

const GraphicsPipelineConfig & vkcv::GraphicsPipelineManager::getPipelineConfig ( const GraphicsPipelineHandle handle) const

Returns the corresponding Pipeline Config Struct of a pipeline object directed by the given Handler.

Parameters
handleDirecting to the requested pipeline.
Returns
Pipeline Config Struct

References vkcv::Handle::getId().

Here is the call graph for this function:

◆ getVkPipeline()

vk::Pipeline vkcv::GraphicsPipelineManager::getVkPipeline ( const GraphicsPipelineHandle handle) const

Returns a vk::Pipeline object by handle.

Parameters
handleDirecting to the requested pipeline.
Returns
vk::Pipeline.

References vkcv::Handle::getId().

Here is the call graph for this function:

◆ getVkPipelineLayout()

vk::PipelineLayout vkcv::GraphicsPipelineManager::getVkPipelineLayout ( const GraphicsPipelineHandle handle) const

Returns a vk::PipelineLayout object by handle.

Parameters
handleDirecting to the requested pipeline.
Returns
vk::PipelineLayout.

References vkcv::Handle::getId().

Here is the call graph for this function:

The documentation for this class was generated from the following files: