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

◆ release()

void MayaFlux::Portal::Graphics::PrimitiveMill::release ( )

Destroy the kernel, pipeline, descriptor sets and buffers.

Definition at line 743 of file PrimitiveMill.cpp.

744{
746
747 auto& foundry = get_shader_foundry();
748 auto& press = get_compute_press();
749
751 press.destroy_pipeline(m_pipeline);
753 }
754
755 if (m_shader != INVALID_SHADER) {
756 foundry.destroy_shader(m_shader);
758 }
759
760 m_sets.clear();
761 m_bound_source.reset();
762 m_bound_slot = 0;
763 m_descriptors_written = false;
764 m_outputs.clear();
765 m_output_slot = 0;
766 m_run_buf.reset();
767 m_prefix_buf.reset();
768 m_prefix.clear();
770 m_milled_count = 0;
772}
size_t m_bound_slot
Ring slot the descriptor set currently points at, for invalidation.
std::weak_ptr< Buffers::VKBuffer > m_bound_source
Source the descriptor set currently points at, for invalidation.
std::shared_ptr< Buffers::VKBuffer > m_prefix_buf
std::shared_ptr< Buffers::VKBuffer > m_run_buf
std::vector< DescriptorSetID > m_sets
std::vector< std::shared_ptr< Buffers::VKBuffer > > m_outputs
Milled buffers rotated between dispatches, all at m_output_capacity.
void resolve_pending()
Wait on and reclaim the previous dispatch, if one is outstanding.
constexpr ShaderID INVALID_SHADER
MAYAFLUX_API ShaderFoundry & get_shader_foundry()
Get the global shader compiler instance.
constexpr ComputePipelineID INVALID_COMPUTE_PIPELINE
MAYAFLUX_API ComputePress & get_compute_press()
std::shared_ptr< Buffers::TextBuffer > press(std::string_view text, const PressParams &params)
Composite a UTF-8 string into a new TextBuffer.
Definition InkPress.cpp:344

References MayaFlux::Portal::Graphics::get_compute_press(), MayaFlux::Portal::Graphics::get_shader_foundry(), MayaFlux::Portal::Graphics::INVALID_COMPUTE_PIPELINE, MayaFlux::Portal::Graphics::INVALID_SHADER, m_bound_slot, m_bound_source, m_descriptors_written, m_milled_count, m_output_capacity, m_output_slot, m_outputs, m_pipeline, m_prefix, m_prefix_buf, m_push_constant_size, m_run_buf, m_sets, m_shader, and resolve_pending().

Referenced by ~PrimitiveMill().

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