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 253 of file ShaderProcessor.cpp.

254{
255 std::vector<uint8_t> merged = m_push_constant_data;
256 merged.resize(resolve_push_constant_size(buffer));
257
258 for (const auto& entry : buffer->get_pipeline_context().push_constant_bindings) {
259 std::memcpy(merged.data() + entry.offset, entry.data.data(), entry.data.size());
260 }
261
262 return merged;
263}
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::ComputeProcessor::execute_shader(), and MayaFlux::Buffers::RenderProcessor::execute_shader().

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