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

◆ ComputeOutNode()

MayaFlux::Nodes::GpuSync::ComputeOutNode::ComputeOutNode ( const std::shared_ptr< Buffers::VKBuffer > &  buffer,
size_t  element_count 
)

Construct with GPU buffer and element count.

Parameters
bufferGPU buffer to read from
element_countNumber of double elements to read

Definition at line 8 of file ComputeOutNode.cpp.

9 : m_gpu_buffer(buffer)
10 , m_readback_data(element_count)
11 , m_element_count(element_count)
12{
13 if (!m_gpu_buffer) {
14 error<std::invalid_argument>(
17 std::source_location::current(),
18 "Cannot create ComputeOutNode with null GPU buffer");
19 }
20
21 if (element_count == 0) {
22 error<std::invalid_argument>(
25 std::source_location::current(),
26 "Cannot create ComputeOutNode with zero element count");
27 }
28
29 size_t required_size = element_count * sizeof(double);
30 if (m_gpu_buffer->get_size_bytes() < required_size) {
32 "GPU buffer size ({} bytes) is smaller than requested element count ({} elements = {} bytes)",
33 m_gpu_buffer->get_size_bytes(), element_count, required_size);
34 }
35}
#define MF_WARN(comp, ctx,...)
std::shared_ptr< Buffers::VKBuffer > m_gpu_buffer
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References m_gpu_buffer, MF_WARN, MayaFlux::Journal::NodeProcessing, and MayaFlux::Journal::Nodes.