MayaFlux 0.5.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 90 of file ShaderProcessor.cpp.

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

References m_bound_buffers, and m_needs_descriptor_rebuild.