MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ get_data()

std::vector< Kakshya::DataVariant > MayaFlux::Buffers::VKBuffer::get_data ( )

Read buffer contents as Kakshya DataVariant.

For host-visible buffers this returns a single DataVariant containing the raw bytes. For device-local buffers this warns and returns empty — a BufferDownloadProcessor should be used to read GPU-only memory.

Returns
Vector of DataVariant objects representing buffer contents.

Definition at line 92 of file VKBuffer.cpp.

93{
94 if (!is_initialized()) {
96 "Cannot get_data from uninitialized VKBuffer");
97 return {};
98 }
99
102
103 std::vector<uint8_t> raw_bytes(m_size_bytes);
104 std::memcpy(raw_bytes.data(), m_resources.mapped_ptr, m_size_bytes);
105 return { raw_bytes };
106 }
107
109 "get_data() on device-local buffer requires BufferDownloadProcessor");
110 return {};
111}
#define MF_WARN(comp, ctx,...)
VKBufferResources m_resources
Definition VKBuffer.hpp:447
bool is_initialized() const
Check whether Vulkan handles are present (buffer registered)
Definition VKBuffer.hpp:244
bool is_host_visible() const
Whether this VKBuffer should be host-visible.
Definition VKBuffer.hpp:292
void mark_invalid_range(size_t offset, size_t size)
Mark a range as invalid (needs download)
Definition VKBuffer.cpp:347
@ BufferManagement
Buffer Management (Buffers::BufferManager, creating buffers)
@ Buffers
Buffers, Managers, processors and processing chains.

References MayaFlux::Journal::BufferManagement, MayaFlux::Journal::Buffers, is_host_visible(), is_initialized(), m_resources, m_size_bytes, MayaFlux::Buffers::VKBufferResources::mapped_ptr, mark_invalid_range(), and MF_WARN.

Referenced by clone_to().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: