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

◆ destroy_pipeline()

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

Definition at line 575 of file RenderFlow.cpp.

576{
577 auto it = m_pipelines.find(pipeline_id);
578 if (it == m_pipelines.end()) {
579 return;
580 }
581
582 auto device = m_shader_foundry->get_device();
583
584 if (it->second.pipeline) {
585 it->second.pipeline->cleanup(device);
586 }
587
588 if (it->second.layout) {
589 device.destroyPipelineLayout(it->second.layout);
590 }
591
592 for (auto layout : it->second.layouts) {
593 if (layout) {
594 device.destroyDescriptorSetLayout(layout);
595 }
596 }
597
598 m_pipelines.erase(it);
599
601 "Destroyed graphics pipeline (ID: {})", pipeline_id);
602}
#define MF_DEBUG(comp, ctx,...)
std::unordered_map< RenderPipelineID, PipelineState > m_pipelines
@ Rendering
GPU rendering operations (graphics pipeline, frame rendering)
@ Portal
High-level user-facing API layer.

References 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: