MayaFlux 0.4.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 125 of file VKBuffer.cpp.

126{
127 if (!is_initialized()) {
129 "Cannot get_data from uninitialized VKBuffer");
130 return {};
131 }
132
135
136 std::vector<uint8_t> raw_bytes(m_size_bytes);
137 std::memcpy(raw_bytes.data(), m_resources.mapped_ptr, m_size_bytes);
138 return { raw_bytes };
139 }
140
142 "get_data() on device-local buffer requires BufferDownloadProcessor");
143 return {};
144}
#define MF_WARN(comp, ctx,...)
VKBufferResources m_resources
Definition VKBuffer.hpp:621
bool is_initialized() const
Check whether Vulkan handles are present (buffer registered)
Definition VKBuffer.hpp:282
bool is_host_visible() const
Whether this VKBuffer should be host-visible.
Definition VKBuffer.hpp:369
void mark_invalid_range(size_t offset, size_t size)
Mark a range as invalid (needs download)
Definition VKBuffer.cpp:393
@ 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: