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

◆ initialize_descriptors()

void MayaFlux::Buffers::ComputeProcessor::initialize_descriptors ( const std::shared_ptr< VKBuffer > &  buffer)
overrideprotectedvirtual

Implements MayaFlux::Buffers::ShaderProcessor.

Definition at line 87 of file ComputeProcessor.cpp.

88{
91 "Cannot allocate descriptor sets without pipeline");
92 return;
93 }
94
96
97 auto& compute_press = Portal::Graphics::get_compute_press();
98
99 m_descriptor_set_ids = compute_press.allocate_pipeline_descriptors(m_pipeline_id);
100
101 if (m_descriptor_set_ids.empty()) {
103 "Failed to allocate descriptor sets");
104 return;
105 }
106
107 update_descriptors(buffer);
109
111 "Descriptor sets initialized: {} sets", m_descriptor_set_ids.size());
112}
#define MF_ERROR(comp, ctx,...)
#define MF_DEBUG(comp, ctx,...)
Portal::Graphics::ComputePipelineID m_pipeline_id
virtual void on_descriptors_created()
Called after descriptor sets are created.
virtual void update_descriptors(const std::shared_ptr< VKBuffer > &buffer)
virtual void on_before_descriptors_create()
Called before descriptor sets are created.
std::vector< Portal::Graphics::DescriptorSetID > m_descriptor_set_ids
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.
constexpr ComputePipelineID INVALID_COMPUTE_PIPELINE
MAYAFLUX_API ComputePress & get_compute_press()

References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, MayaFlux::Portal::Graphics::get_compute_press(), MayaFlux::Portal::Graphics::INVALID_COMPUTE_PIPELINE, MayaFlux::Buffers::ShaderProcessor::m_descriptor_set_ids, m_pipeline_id, MF_DEBUG, MF_ERROR, MayaFlux::Buffers::ShaderProcessor::on_before_descriptors_create(), MayaFlux::Buffers::ShaderProcessor::on_descriptors_created(), and MayaFlux::Buffers::ShaderProcessor::update_descriptors().

+ Here is the call graph for this function: