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

◆ processing_function()

void MayaFlux::Buffers::RelaxationStepProcessor::processing_function ( const std::shared_ptr< Buffer > &  buffer)
overrideprotectedvirtual

Write the state descriptors for the current front/back assignment, then run the normal shader processing path.

The descriptor write must precede execute_shader's vkCmdBindDescriptorSets. Writing from on_before_execute updates a set already bound into the open command buffer, which the driver has consumed by then, freezing the bindings at whatever on_descriptors_created wrote.

Implements MayaFlux::Buffers::BufferProcessor.

Definition at line 48 of file RelaxationStepProcessor.cpp.

49{
52 m_grid->swap_generation();
53 }
54
56}
virtual void processing_function(const std::shared_ptr< Buffer > &buffer)=0
The core processing function that must be implemented by derived classes.
void write_state_descriptors(const std::shared_ptr< RelaxationGridBuffer > &grid)
Issue direct ShaderFoundry descriptor writes for state_in and state_out against the grid's current fr...
std::shared_ptr< RelaxationGridBuffer > m_grid
The attached RelaxationGridBuffer, cached for descriptor writes and snapshot staging.
bool are_descriptors_ready() const
Check if descriptors are initialized.

References MayaFlux::Buffers::ShaderProcessor::are_descriptors_ready(), m_grid, MayaFlux::Buffers::BufferProcessor::processing_function(), and write_state_descriptors().

+ Here is the call graph for this function: