|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
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< VKShaderModule > | create_shader_module (const std::string &spirv_path, uint32_t stage) |
| Create a shader module from SPIR-V binary. | |
| std::shared_ptr< VKDescriptorManager > | create_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< VKComputePipeline > | create_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< VKGraphicsPipeline > | create_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 | |
| VKContext & | m_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 |
Manages Vulkan pipelines (compute, graphics) and related resources.
Definition at line 23 of file BackendPipelineManager.hpp.