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

◆ read_graphics_buffer()

std::optional< Kakshya::DataVariant > MayaFlux::Kriya::BufferPipeline::read_graphics_buffer ( BufferOperation &  op,
const std::shared_ptr< Buffers::VKBuffer > &  buffer 
)
private

Definition at line 75 of file BufferPipelineCapture.cpp.

77{
78 auto& entry = m_readers[{ &op, buffer.get() }];
79 if (!entry.processor) {
80 entry.buffer = buffer;
81 entry.processor = std::make_shared<Buffers::DataReadProcessor>();
82 buffer->get_processing_chain()->add_processor(entry.processor, buffer);
83 entry.processor->set_skip_while_pending(true);
84 }
85
86 auto data = detail::resolve_graphics_read(*entry.processor);
87 detail::arm_graphics_read(*entry.processor, buffer);
88 return data;
89}
std::shared_ptr< NetworkGeometryBuffer > buffer
std::map< std::pair< const BufferOperation *, const Buffers::VKBuffer * >, GraphicsReader > m_readers
void arm_graphics_read(Buffers::DataReadProcessor &reader, const std::shared_ptr< Buffers::VKBuffer > &buffer)
Arm the read that suits what the buffer is.
std::optional< Kakshya::DataVariant > resolve_graphics_read(Buffers::DataReadProcessor &reader)
Finish the pending read as one DataVariant.

References buffer.

Referenced by process_fuse(), and process_route().

+ Here is the caller graph for this function: