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

◆ update_specialization_info()

void MayaFlux::Core::VKShaderModule::update_specialization_info ( )
private

Update specialization info from current map Called before get_stage_create_info() to ensure fresh data.

Definition at line 478 of file VKShaderModule.cpp.

479{
480 if (m_specialization_map.empty()) {
482 m_specialization_data.clear();
483 m_specialization_info = vk::SpecializationInfo {};
484 return;
485 }
486
488 m_specialization_data.clear();
489
492
493 uint32_t offset = 0;
494 for (const auto& [constant_id, value] : m_specialization_map) {
495 vk::SpecializationMapEntry entry;
496 entry.constantID = constant_id;
497 entry.offset = offset;
498 entry.size = sizeof(uint32_t);
499 m_specialization_entries.push_back(entry);
500
501 m_specialization_data.push_back(value);
502 offset += sizeof(uint32_t);
503 }
504
505 m_specialization_info.mapEntryCount = static_cast<uint32_t>(m_specialization_entries.size());
507 m_specialization_info.dataSize = m_specialization_data.size() * sizeof(uint32_t);
509}
uint64_t offset
Definition Composite.cpp:10
glm::vec3 value
vk::SpecializationInfo m_specialization_info
std::vector< vk::SpecializationMapEntry > m_specialization_entries
std::vector< uint32_t > m_specialization_data
std::unordered_map< uint32_t, uint32_t > m_specialization_map

References m_specialization_data, m_specialization_entries, m_specialization_info, m_specialization_map, offset, and value.

Referenced by get_stage_create_info().

+ Here is the caller graph for this function: