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

◆ on_iteration_barrier()

void MayaFlux::Buffers::ComputeProcessor::on_iteration_barrier ( Portal::Graphics::CommandBufferID  cmd_id,
const std::shared_ptr< VKBuffer > &  buffer,
uint32_t  index 
)
protectedvirtual

Called after each iteration except the last.

Parameters
cmd_idCommand buffer being recorded into.
bufferBuffer under processing.
indexZero-based index of the iteration just recorded.

Default issues a compute-to-compute buffer_barrier on the attached buffer's own handle. Override when the hazard is on resources the attached buffer does not own, such as raw double-buffered state.

Reimplemented in MayaFlux::Buffers::DiffuseProcessor, and MayaFlux::Buffers::PressureProcessor.

Definition at line 196 of file ComputeProcessor.cpp.

200{
202 cmd_id,
203 buffer->get_buffer(),
204 vk::AccessFlagBits::eShaderWrite,
205 vk::AccessFlagBits::eShaderRead | vk::AccessFlagBits::eShaderWrite,
206 vk::PipelineStageFlagBits::eComputeShader,
207 vk::PipelineStageFlagBits::eComputeShader);
208}
void buffer_barrier(CommandBufferID cmd_id, vk::Buffer buffer, vk::AccessFlags src_access, vk::AccessFlags dst_access, vk::PipelineStageFlags src_stage, vk::PipelineStageFlags dst_stage)
Insert buffer memory barrier.
MAYAFLUX_API ShaderFoundry & get_shader_foundry()
Get the global shader compiler instance.

References MayaFlux::Portal::Graphics::ShaderFoundry::buffer_barrier(), and MayaFlux::Portal::Graphics::get_shader_foundry().

Referenced by execute_shader().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: