|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
#include <TransferProcessor.hpp>
Inheritance diagram for MayaFlux::Buffers::TransferProcessor:
Collaboration diagram for MayaFlux::Buffers::TransferProcessor:Public Member Functions | |
| TransferProcessor () | |
| TransferProcessor (const std::shared_ptr< AudioBuffer > &source, const std::shared_ptr< VKBuffer > &target) | |
| Create transfer from audio to GPU. | |
| TransferProcessor (const std::shared_ptr< AudioBuffer > &audio_buffer, const std::shared_ptr< VKBuffer > &gpu_buffer, TransferDirection direction) | |
| Create transfer with explicit direction. | |
| ~TransferProcessor () override=default | |
| void | connect_audio_to_gpu (const std::shared_ptr< AudioBuffer > &source, const std::shared_ptr< VKBuffer > &target) |
| Configure audio→GPU transfer. | |
| void | connect_gpu_to_audio (const std::shared_ptr< VKBuffer > &source, const std::shared_ptr< AudioBuffer > &target) |
| Configure GPU→audio transfer. | |
| void | setup_staging (const std::shared_ptr< VKBuffer > &target, std::shared_ptr< VKBuffer > staging_buffer) |
| Set up staging buffer for device-local GPU buffer. | |
| TransferDirection | get_direction () const |
| Get current transfer direction. | |
| void | set_direction (TransferDirection direction) |
| Set transfer direction. | |
| void | on_attach (std::shared_ptr< Buffer > buffer) override |
| Called when this processor is attached to a buffer. | |
| void | on_detach (std::shared_ptr< Buffer > buffer) override |
| Called when this processor is detached from a buffer. | |
| void | processing_function (std::shared_ptr< Buffer > buffer) override |
| The core processing function that must be implemented by derived classes. | |
Public Member Functions inherited from MayaFlux::Buffers::BufferProcessor | |
| virtual | ~BufferProcessor ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
| void | process (std::shared_ptr< Buffer > buffer) |
| Applies a computational transformation to the data in the provided buffer. | |
| virtual void | set_processing_token (ProcessingToken token) |
| Gets the preferred processing backend for this processor. | |
| virtual ProcessingToken | get_processing_token () const |
| Gets the current processing token for this buffer. | |
| virtual bool | is_compatible_with (std::shared_ptr< Buffer >) const |
| Checks if this processor can handle the specified buffer type. | |
Private Member Functions | |
| bool | validate_audio_to_gpu (const std::shared_ptr< VKBuffer > &target) const |
| bool | validate_gpu_to_audio (const std::shared_ptr< AudioBuffer > &target) const |
| void | process_audio_to_gpu (const std::shared_ptr< Buffer > &gpu_buffer) |
| void | process_gpu_to_audio (const std::shared_ptr< Buffer > &audio_buffer) |
Private Attributes | |
| std::unordered_map< std::shared_ptr< AudioBuffer >, std::shared_ptr< VKBuffer > > | m_audio_to_gpu_map |
| std::unordered_map< std::shared_ptr< VKBuffer >, std::shared_ptr< AudioBuffer > > | m_gpu_to_audio_map |
| std::unordered_map< std::shared_ptr< VKBuffer >, std::shared_ptr< VKBuffer > > | m_staging_map |
| TransferDirection | m_direction = TransferDirection::AUDIO_TO_GPU |
Additional Inherited Members | |
Protected Member Functions inherited from MayaFlux::Buffers::VKBufferProcessor | |
| void | initialize_buffer_service () |
| void | initialize_compute_service () |
Protected Attributes inherited from MayaFlux::Buffers::VKBufferProcessor | |
| Registry::Service::BufferService * | m_buffer_service = nullptr |
| Registry::Service::ComputeService * | m_compute_service = nullptr |
Protected Attributes inherited from MayaFlux::Buffers::BufferProcessor | |
| ProcessingToken | m_processing_token { ProcessingToken::AUDIO_BACKEND } |
Definition at line 19 of file TransferProcessor.hpp.