|
| std::shared_ptr< VKBuffer > | MayaFlux::Buffers::create_image_staging_buffer (size_t size) |
| | Allocate a persistent host-visible staging buffer sized for repeated streaming uploads to an image of size bytes.
|
| |
| std::shared_ptr< VKBuffer > | MayaFlux::Buffers::create_staging_buffer (size_t size) |
| | Create staging buffer for transfers.
|
| |
| std::span< const float > | MayaFlux::Buffers::download_and_normalise (const std::shared_ptr< Core::VKImage > &image, std::vector< uint8_t > &raw_staging, std::vector< float > &work, const std::shared_ptr< VKBuffer > &gpu_staging) |
| | Download a VKImage to CPU and return a normalised float span.
|
| |
| 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)
|
| |
| void | MayaFlux::Buffers::download_back_buffer (const VKBufferResources::GenerationSlot &slot, void *data, size_t size, std::shared_ptr< VKBuffer > &staging) |
| | Download a raw back_buffers slot to host memory.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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::download_from_gpu_async (const std::shared_ptr< VKBuffer > &source, void *data, size_t size, std::shared_ptr< VKBuffer > &staging) |
| | Download from a device-local GPU buffer without stalling the graphics queue.
|
| |
| 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.
|
| |
| 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::ensure_gpu_capacity (const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging, size_t required, float growth_factor=k_buffer_growth_factor) |
| | Grow a GPU buffer (and its paired staging buffer) to fit required bytes.
|
| |
| bool | MayaFlux::Buffers::is_device_local (const std::shared_ptr< VKBuffer > &buffer) |
| | Check if buffer is device-local (staging needed)
|
| |
| template<GpuImageSource T> |
| std::shared_ptr< Core::VKImage > | MayaFlux::Buffers::resolve_gpu_image (const T &buffer) |
| | Resolve the GPU-resident image from any GpuImageSource buffer.
|
| |
| void | MayaFlux::Buffers::resolve_transfer (TransferHandle &handle) |
| | Wait for a transfer and release its resources.
|
| |
| 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::upload_back_buffer (const VKBufferResources::GenerationSlot &slot, const void *data, size_t size, std::shared_ptr< VKBuffer > &staging) |
| | Upload host memory into a raw back_buffers slot.
|
| |
| TransferHandle | MayaFlux::Buffers::upload_back_buffer_async (const VKBufferResources::GenerationSlot &slot, const void *data, size_t size, std::shared_ptr< VKBuffer > &staging) |
| | Upload to a back_buffers slot without waiting for completion.
|
| |
| void | MayaFlux::Buffers::upload_device_local (const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging_buffer, const Kakshya::DataVariant &data, size_t dst_offset=0) |
| | Upload data to a device-local buffer using a staging buffer.
|
| |
| 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)
|
| |
| void | MayaFlux::Buffers::upload_host_visible (const std::shared_ptr< VKBuffer > &target, const Kakshya::DataVariant &data, size_t dst_offset=0) |
| | Upload data to a host-visible buffer.
|
| |
| void | MayaFlux::Buffers::upload_resizing (const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging, float growth_factor=1.5F) |
| | Upload size bytes to target, growing both buffers first if needed.
|
| |
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 > |
| 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::upload_to_gpu (const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging=nullptr, size_t dst_offset=0) |
| | 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.
|
| |