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

◆ push_constants()

void MayaFlux::Portal::Graphics::RenderFlow::push_constants ( CommandBufferID  cmd_id,
RenderPipelineID  pipeline,
const void *  data,
size_t  size,
uint32_t  offset = 0 
)

Push constants.

Parameters
cmd_idCommand buffer ID
pipelinePipeline ID
dataConstant data
sizeData size in bytes
offsetByte offset in push constant range (default: 0)

Definition at line 853 of file RenderFlow.cpp.

859{
860 auto pipeline_it = m_pipelines.find(pipeline_id);
861 if (pipeline_it == m_pipelines.end()) {
863 "Invalid pipeline ID: {}", pipeline_id);
864 return;
865 }
866
868 if (!cmd) {
870 "Invalid command buffer ID: {}", cmd_id);
871 return;
872 }
873
874 cmd.pushConstants(
875 pipeline_it->second.layout,
876 pipeline_it->second.push_constant_stages,
877 offset,
878 static_cast<uint32_t>(size),
879 data);
880}
#define MF_ERROR(comp, ctx,...)
vk::CommandBuffer cmd
uint64_t offset
Definition Composite.cpp:10
bool size
std::unordered_map< RenderPipelineID, PipelineState > m_pipelines
vk::CommandBuffer get_command_buffer(CommandBufferID cmd_id)
Get Vulkan command buffer handle from CommandBufferID.
@ Rendering
GPU rendering operations (graphics pipeline, frame rendering)
@ Portal
High-level user-facing API layer.

References cmd, MayaFlux::Portal::Graphics::ShaderFoundry::get_command_buffer(), m_pipelines, m_shader_foundry, MF_ERROR, offset, MayaFlux::Journal::Portal, MayaFlux::Journal::Rendering, and size.

+ Here is the call graph for this function: