MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ destroy_pipeline()

void MayaFlux::Portal::Graphics::RenderFlow::destroy_pipeline ( RenderPipelineID  pipeline_id)

Destroy a graphics pipeline.

Parameters
pipeline_idPipeline ID to destroy

Definition at line 520 of file RenderFlow.cpp.

521{
522 auto it = m_pipelines.find(pipeline_id);
523 if (it == m_pipelines.end()) {
524 return;
525 }
526
528
529 if (it->second.pipeline) {
530 it->second.pipeline->cleanup(device);
531 }
532
533 for (auto layout : it->second.layouts) {
534 if (layout) {
535 device.destroyDescriptorSetLayout(layout);
536 }
537 }
538
539 m_pipelines.erase(it);
540
542 "Destroyed graphics pipeline (ID: {})", pipeline_id);
543}
#define MF_DEBUG(comp, ctx,...)
vk::PhysicalDevice device
Definition VKDevice.cpp:121
std::unordered_map< RenderPipelineID, PipelineState > m_pipelines
vk::Device get_device() const
Get logical device handle.
@ Rendering
GPU rendering operations (graphics pipeline, frame rendering)
@ Portal
High-level user-facing API layer.

References device, MayaFlux::Portal::Graphics::ShaderFoundry::get_device(), m_pipelines, m_shader_foundry, MF_DEBUG, MayaFlux::Journal::Portal, and MayaFlux::Journal::Rendering.

+ Here is the call graph for this function: