|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Include dependency graph for StagingUtils.hpp:
This graph shows which files directly or indirectly include this file: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. | |
| 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) | |
| template<typename T > | |
| void | MayaFlux::Buffers::upload_to_gpu (std::span< const T > data, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload typed data to GPU buffer. | |
| template<typename T > | |
| void | MayaFlux::Buffers::upload_to_gpu (const std::vector< T > &data, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload vector to GPU buffer. | |
| 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) | |
| template<typename T > | |
| void | MayaFlux::Buffers::download_from_gpu (const std::shared_ptr< VKBuffer > &source, std::span< T > data, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download from GPU buffer to typed span. | |
| template<typename T > | |
| void | MayaFlux::Buffers::download_from_gpu (const std::shared_ptr< VKBuffer > &source, std::vector< T > &data, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download from GPU buffer to vector. | |
| std::shared_ptr< VKBuffer > | MayaFlux::Buffers::create_staging_buffer (size_t size) |
| Create staging buffer for transfers. | |
| bool | MayaFlux::Buffers::is_device_local (const std::shared_ptr< VKBuffer > &buffer) |
| Check if buffer is device-local (staging needed) | |
| template<typename T > | |
| void | MayaFlux::Buffers::upload_from_view (const Kakshya::DataAccess &accessor, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload data from DataAccess view to GPU buffer (precision-preserving) | |
| template<typename T > requires GlmType<T> | |
| void | MayaFlux::Buffers::upload_structured_view (const Kakshya::DataAccess &accessor, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Upload structured data with GLM double-precision types. | |
| template<typename T > | |
| Kakshya::DataAccess | MayaFlux::Buffers::download_to_view (const std::shared_ptr< VKBuffer > &source, Kakshya::DataVariant &target_variant, const std::vector< Kakshya::DataDimension > &dimensions, Kakshya::DataModality modality, const std::shared_ptr< VKBuffer > &staging=nullptr) |
| Download GPU buffer to DataAccess-compatible format (precision-preserving) | |
| 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) | |