MayaFlux 0.3.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 89 of file VKBuffer.cpp.

90{
91 if (!is_initialized()) {
93 "Cannot get_data from uninitialized VKBuffer");
94 return {};
95 }
96
99
100 std::vector<uint8_t> raw_bytes(m_size_bytes);
101 std::memcpy(raw_bytes.data(), m_resources.mapped_ptr, m_size_bytes);
102 return { raw_bytes };
103 }
104
106 "get_data() on device-local buffer requires BufferDownloadProcessor");
107 return {};
108}
#define MF_WARN(comp, ctx,...)
VKBufferResources m_resources
Definition VKBuffer.hpp:512
bool is_initialized() const
Check whether Vulkan handles are present (buffer registered)
Definition VKBuffer.hpp:246
bool is_host_visible() const
Whether this VKBuffer should be host-visible.
Definition VKBuffer.hpp:294
void mark_invalid_range(size_t offset, size_t size)
Mark a range as invalid (needs download)
Definition VKBuffer.cpp:344
@ 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: