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

◆ setup_processors()

void MayaFlux::Buffers::FormaBuffer::setup_processors ( ProcessingToken  token)
overridevirtual

Register with the graphics subsystem.

Creates a BufferUploadProcessor as default processor.

Reimplemented from MayaFlux::Buffers::VKBuffer.

Definition at line 33 of file FormaBuffer.cpp.

34{
35 auto proc = std::make_shared<Buffers::FormaProcessor>(m_topology);
37 m_processor = proc;
38
40 if (!chain) {
41 chain = std::make_shared<Buffers::BufferProcessingChain>();
43 }
44 chain->set_preferred_token(token);
45
46 if (!m_pending_geometry.empty()) {
48 m_pending_geometry.clear();
49 }
50
51 for (auto& [img, binding] : m_pending_textures)
52 m_processor->set_texture(std::move(img), std::move(binding));
53
54 m_pending_textures.clear();
55}
BufferProcessingChain * chain
std::vector< uint8_t > m_pending_geometry
Geometry bytes from submit() before setup_processors(). Drained in setup_processors().
std::shared_ptr< Buffers::FormaProcessor > m_processor
void set_texture(std::shared_ptr< Core::VKImage > image, std::string binding)
Supply a texture to be bound on the next graphics tick.
Portal::Graphics::PrimitiveTopology m_topology
std::vector< std::pair< std::shared_ptr< Core::VKImage >, std::string > > m_pending_textures
Textures from set_texture() before setup_processors(). Drained in setup_processors().
std::shared_ptr< Buffers::BufferProcessingChain > get_processing_chain() override
Access the buffer's processing chain.
Definition VKBuffer.cpp:271
void set_default_processor(const std::shared_ptr< BufferProcessor > &processor) override
Set the buffer's default processor.
Definition VKBuffer.cpp:255
void set_processing_chain(const std::shared_ptr< BufferProcessingChain > &chain, bool force=false) override
Replace the buffer's processing chain.
Definition VKBuffer.cpp:276
void move(EditableText &s, int n)
Move the cursor by n codepoints.
Definition TextEdit.cpp:20

References chain, MayaFlux::Buffers::VKBuffer::get_processing_chain(), m_pending_geometry, m_pending_textures, m_processor, m_topology, MayaFlux::Buffers::VKBuffer::set_default_processor(), and MayaFlux::Buffers::VKBuffer::set_processing_chain().

+ Here is the call graph for this function: