29 const std::shared_ptr<AudioBuffer>& source,
30 const std::shared_ptr<VKBuffer>& target);
39 const std::shared_ptr<AudioBuffer>& audio_buffer,
40 const std::shared_ptr<VKBuffer>& gpu_buffer,
48 void connect_audio_to_gpu(
49 const std::shared_ptr<AudioBuffer>& source,
50 const std::shared_ptr<VKBuffer>& target);
55 void connect_gpu_to_audio(
56 const std::shared_ptr<VKBuffer>& source,
57 const std::shared_ptr<AudioBuffer>& target);
63 const std::shared_ptr<VKBuffer>& target,
64 std::shared_ptr<VKBuffer> staging_buffer);
76 void on_attach(
const std::shared_ptr<Buffer>&
buffer)
override;
77 void on_detach(
const std::shared_ptr<Buffer>&
buffer)
override;
79 void processing_function(
const std::shared_ptr<Buffer>&
buffer)
override;
89 std::unordered_map<std::shared_ptr<VKBuffer>, std::shared_ptr<VKBuffer>>
m_staging_map;
94 bool validate_audio_to_gpu(
const std::shared_ptr<VKBuffer>& target)
const;
95 bool validate_gpu_to_audio(
const std::shared_ptr<AudioBuffer>& target)
const;
97 void process_audio_to_gpu(
const std::shared_ptr<Buffer>& gpu_buffer);
98 void process_gpu_to_audio(
const std::shared_ptr<Buffer>& audio_buffer);