MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::BackendPipelineManager Class Reference

Manages Vulkan pipelines (compute, graphics) and related resources. More...

#include <BackendPipelineManager.hpp>

+ Collaboration diagram for MayaFlux::Core::BackendPipelineManager:

Public Member Functions

 BackendPipelineManager (VKContext &context)
 
 ~BackendPipelineManager ()=default
 
void setup_backend_service (const std::shared_ptr< Registry::Service::ComputeService > &compute_service)
 
std::shared_ptr< VKShaderModulecreate_shader_module (const std::string &spirv_path, uint32_t stage)
 Create a shader module from SPIR-V binary.
 
std::shared_ptr< VKDescriptorManagercreate_descriptor_manager (uint32_t pool_size)
 Create a descriptor manager for managing descriptor sets.
 
vk::DescriptorSetLayout create_descriptor_layout (const std::shared_ptr< VKDescriptorManager > &manager, const std::vector< std::pair< uint32_t, uint32_t > > &bindings)
 Create a descriptor set layout.
 
std::shared_ptr< VKComputePipelinecreate_compute_pipeline (const std::shared_ptr< VKShaderModule > &shader, const std::vector< vk::DescriptorSetLayout > &layouts, uint32_t push_constant_size)
 Create a compute pipeline.
 
std::shared_ptr< VKGraphicsPipelinecreate_graphics_pipeline (const GraphicsPipelineConfig &config)
 Create graphics pipeline.
 
void cleanup_compute_resource (void *resource)
 Cleanup a compute resource allocated by the backend.
 
void cleanup ()
 

Private Member Functions

void track_shader (const std::shared_ptr< VKShaderModule > &shader)
 
void track_descriptor_manager (const std::shared_ptr< VKDescriptorManager > &manager)
 
void track_compute_pipeline (const std::shared_ptr< VKComputePipeline > &pipeline)
 
void track_graphics_pipeline (const std::shared_ptr< VKGraphicsPipeline > &pipeline)
 

Private Attributes

VKContextm_context
 
std::vector< std::shared_ptr< VKShaderModule > > m_managed_shaders
 
std::vector< std::shared_ptr< VKDescriptorManager > > m_managed_descriptor_managers
 
std::vector< std::shared_ptr< VKComputePipeline > > m_managed_compute_pipelines
 
std::vector< std::shared_ptr< VKGraphicsPipeline > > m_managed_graphics_pipelines
 

Detailed Description

Manages Vulkan pipelines (compute, graphics) and related resources.

Definition at line 23 of file BackendPipelineManager.hpp.


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