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

◆ on_detach()

void MayaFlux::Buffers::ShaderProcessor::on_detach ( const 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 89 of file ShaderProcessor.cpp.

90{
91 auto vk_buffer = std::dynamic_pointer_cast<VKBuffer>(buffer);
92 if (!vk_buffer)
93 return;
94
95 for (auto it = m_bound_buffers.begin(); it != m_bound_buffers.end();) {
96 if (it->second == vk_buffer) {
97 it = m_bound_buffers.erase(it);
98 } else {
99 ++it;
100 }
101 }
103}
std::unordered_map< std::string, std::shared_ptr< VKBuffer > > m_bound_buffers

References m_bound_buffers, and m_needs_descriptor_rebuild.