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

◆ on_detach()

void MayaFlux::Buffers::DataReadProcessor::on_detach ( const std::shared_ptr< Buffer > &  )
overrideprotectedvirtual

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 406 of file DataReadProcessor.cpp.

407{
408 m_request.drain([](ReadRequest&) { });
409 m_result.drain([](std::unique_ptr<PendingRead>&) { });
410 m_result_ready.store(false, std::memory_order_release);
411 m_result_occupied.store(false, std::memory_order_release);
412 m_staging.reset();
413 m_texture_staging.reset();
414}
std::shared_ptr< VKBuffer > m_texture_staging
Memory::SweepList< std::unique_ptr< PendingRead > > m_result
Memory::SweepList< ReadRequest > m_request
std::shared_ptr< VKBuffer > m_staging

References m_request, m_result, m_result_occupied, m_result_ready, m_staging, and m_texture_staging.