Stop all render processors from presenting to a window.
Child buffers and non-render processors remain attached to this root.
455{
457 return;
458
460 return info.target_window ==
window;
461 });
462
465 continue;
466
468 auto remove_render = [&
buffer, &
chain, &
window](
const std::shared_ptr<RenderProcessor>& render) {
469 if (!render || render->get_target_window() !=
window)
470 return;
471
472 if (
buffer->get_default_processor() == render) {
473 buffer->set_default_processor(
nullptr);
474 return;
475 }
476
478 return;
479
481 };
482
483 if (
auto render =
buffer->get_render_processor())
484 remove_render(render);
485
487 remove_render(render);
488 }
489
491}
std::shared_ptr< NetworkGeometryBuffer > buffer
BufferProcessingChain * chain
std::weak_ptr< Core::Window > window
std::vector< std::shared_ptr< VKBuffer > > m_child_buffers
Vector of tributary buffers that contribute to this root buffer.
std::vector< RenderableBufferInfo > m_renderable_buffers
std::unordered_set< std::shared_ptr< Core::Window > > m_pending_presentation_refreshes
std::vector< std::shared_ptr< RenderProcessor > > get_additional_render_processors()
Get additional live render processors attached through the chain.