MayaFlux 1.0.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::ClaimFlattenProcessor, MayaFlux::Buffers::DiffuseProcessor, and MayaFlux::Buffers::PressureProcessor.

Definition at line 202 of file ComputeProcessor.cpp.

206{
208 cmd_id,
209 buffer->get_buffer(),
210 vk::AccessFlagBits::eShaderWrite,
211 vk::AccessFlagBits::eShaderRead | vk::AccessFlagBits::eShaderWrite,
212 vk::PipelineStageFlagBits::eComputeShader,
213 vk::PipelineStageFlagBits::eComputeShader);
214}
std::shared_ptr< NetworkGeometryBuffer > buffer
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 buffer, 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: