MayaFlux 0.3.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 465 of file RenderFlow.cpp.

466{
467 auto it = m_pipelines.find(pipeline_id);
468 if (it == m_pipelines.end()) {
469 return;
470 }
471
472 auto device = m_shader_foundry->get_device();
473
474 if (it->second.pipeline) {
475 it->second.pipeline->cleanup(device);
476 }
477
478 if (it->second.layout) {
479 device.destroyPipelineLayout(it->second.layout);
480 }
481
482 for (auto layout : it->second.layouts) {
483 if (layout) {
484 device.destroyDescriptorSetLayout(layout);
485 }
486 }
487
488 m_pipelines.erase(it);
489
491 "Destroyed graphics pipeline (ID: {})", pipeline_id);
492}
#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: