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

◆ on_detach()

void MayaFlux::Buffers::ShaderProcessor::on_detach ( std::shared_ptr< Buffer )
overridevirtual

Called when this processor is detached from a buffer.

Parameters
bufferBuffer this processor is being detached from

Provides an opportunity for the processor to clean up buffer-specific state or release resources. With expanded processor capabilities, this method should also:

  • Release Hardware Resources: Clean up GPU memory, CUDA contexts, or other acceleration resources
  • Finalize Backend Operations: Ensure all pending backend operations are completed
  • Reset Processing State: Clear any buffer-specific optimization parameters or cached data
  • Restore Default Backend: Return to default processing backend if override was applied
  • Synchronize Operations: Ensure all parallel processing operations have completed

Default implementation does nothing, but proper resource management in derived classes is crucial for optimal performance and preventing resource leaks.

Reimplemented from MayaFlux::Buffers::BufferProcessor.

Definition at line 81 of file ShaderProcessor.cpp.

82{
83 auto vk_buffer = std::dynamic_pointer_cast<VKBuffer>(buffer);
84 if (!vk_buffer)
85 return;
86
87 for (auto it = m_bound_buffers.begin(); it != m_bound_buffers.end();) {
88 if (it->second == vk_buffer) {
89 it = m_bound_buffers.erase(it);
90 } else {
91 ++it;
92 }
93 }
95}
std::unordered_map< std::string, std::shared_ptr< VKBuffer > > m_bound_buffers

References m_bound_buffers, and m_needs_descriptor_rebuild.