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

◆ on_iteration_barrier()

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

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 from MayaFlux::Buffers::ComputeProcessor.

Definition at line 295 of file MutationClaimProcessor.cpp.

299{
300 auto handle = get_network_buffer()->read_state_handle("mutation_claimed_by");
301
303 cmd_id, handle,
304 vk::AccessFlagBits::eShaderWrite,
305 vk::AccessFlagBits::eShaderRead | vk::AccessFlagBits::eShaderWrite,
306 vk::PipelineStageFlagBits::eComputeShader,
307 vk::PipelineStageFlagBits::eComputeShader);
308}
const std::shared_ptr< NetworkGeometryBuffer > & get_network_buffer() const
The attached buffer, or null if attachment failed validation.
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(), MayaFlux::Buffers::NetworkStateFieldProcessor::get_network_buffer(), and MayaFlux::Portal::Graphics::get_shader_foundry().

+ Here is the call graph for this function: