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

◆ resolve_push_constants()

std::vector< uint8_t > MayaFlux::Buffers::ShaderProcessor::resolve_push_constants ( const std::shared_ptr< VKBuffer > &  buffer) const
protected

This processor's push constant data with buffer-staged fragments overlaid at their declared offsets.

Definition at line 460 of file ShaderProcessor.cpp.

461{
462 std::vector<uint8_t> merged = m_push_constant_data;
463 merged.resize(resolve_push_constant_size(buffer));
464
465 for (const auto& entry : buffer->get_pipeline_context().push_constant_bindings) {
466 std::memcpy(merged.data() + entry.offset, entry.data.data(), entry.data.size());
467 }
468
469 return merged;
470}
std::vector< uint8_t > m_push_constant_data
size_t resolve_push_constant_size(const std::shared_ptr< VKBuffer > &buffer) const
Byte width of this processor's push constant block, extended to cover any fragment staged on the buff...

References m_push_constant_data, and resolve_push_constant_size().

Referenced by MayaFlux::Buffers::RenderProcessor::execute_shader().

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