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 102 of file ShaderProcessor.cpp.

103{
104 auto vk_buffer = std::dynamic_pointer_cast<VKBuffer>(buffer);
105 if (!vk_buffer)
106 return;
107
108 for (auto it = m_bound_buffers.begin(); it != m_bound_buffers.end();) {
109 if (it->second == vk_buffer) {
110 it = m_bound_buffers.erase(it);
111 } else {
112 ++it;
113 }
114 }
116}
std::unordered_map< std::string, std::shared_ptr< VKBuffer > > m_bound_buffers

References m_bound_buffers, and m_needs_descriptor_rebuild.