MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
StagingUtils.cpp File Reference
+ Include dependency graph for StagingUtils.cpp:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Buffers
 

Functions

void MayaFlux::Buffers::upload_host_visible (const std::shared_ptr< VKBuffer > &target, const Kakshya::DataVariant &data)
 Upload data to a host-visible buffer.
 
void MayaFlux::Buffers::upload_device_local (const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging_buffer, const Kakshya::DataVariant &data)
 Upload data to a device-local buffer using a staging buffer.
 
void MayaFlux::Buffers::download_host_visible (const std::shared_ptr< VKBuffer > &source, const std::shared_ptr< VKBuffer > &target)
 Download data from a host-visible buffer.
 
void MayaFlux::Buffers::download_device_local (const std::shared_ptr< VKBuffer > &source, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging_buffer)
 Download data from a device-local buffer using a staging buffer.
 
bool MayaFlux::Buffers::is_device_local (const std::shared_ptr< VKBuffer > &buffer)
 Check if buffer is device-local (staging needed)
 
std::shared_ptr< VKBufferMayaFlux::Buffers::create_staging_buffer (size_t size)
 Create staging buffer for transfers.
 
void MayaFlux::Buffers::upload_to_gpu (const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr)
 Upload raw data to GPU buffer (auto-detects host-visible vs device-local)
 
void MayaFlux::Buffers::download_from_gpu (const std::shared_ptr< VKBuffer > &source, void *data, size_t size, const std::shared_ptr< VKBuffer > &staging=nullptr)
 Download from GPU buffer to raw data (auto-detects host-visible vs device-local)
 
void MayaFlux::Buffers::upload_audio_to_gpu (const std::shared_ptr< AudioBuffer > &audio_buffer, const std::shared_ptr< VKBuffer > &gpu_buffer, const std::shared_ptr< VKBuffer > &staging=nullptr)
 Upload AudioBuffer to GPU (always double precision)
 
void MayaFlux::Buffers::download_audio_from_gpu (const std::shared_ptr< VKBuffer > &gpu_buffer, const std::shared_ptr< AudioBuffer > &audio_buffer, const std::shared_ptr< VKBuffer > &staging=nullptr)
 Download GPU buffer to AudioBuffer (expects double precision)