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

◆ update_descriptor_buffer()

void MayaFlux::Portal::Graphics::ShaderFoundry::update_descriptor_buffer ( DescriptorSetID  descriptor_set_id,
uint32_t  binding,
vk::DescriptorType  type,
vk::Buffer  buffer,
size_t  offset,
size_t  size 
)

Update descriptor set with buffer binding.

Parameters
descriptor_set_idID of descriptor set to update
bindingBinding index within the descriptor set
typeDescriptor type (e.g., eStorageBuffer, eUniformBuffer)
bufferVulkan buffer to bind
offsetOffset within the buffer
sizeSize of the buffer region

Definition at line 573 of file ShaderFoundry.cpp.

580{
581 auto it = m_descriptor_sets.find(descriptor_set_id);
582 if (it == m_descriptor_sets.end()) {
583 return;
584 }
585
586 vk::DescriptorBufferInfo buffer_info;
587 buffer_info.buffer = buffer;
588 buffer_info.offset = offset;
589 buffer_info.range = size;
590
591 vk::WriteDescriptorSet write;
592 write.dstSet = it->second.descriptor_set;
593 write.dstBinding = binding;
594 write.dstArrayElement = 0;
595 write.descriptorCount = 1;
596 write.descriptorType = type;
597 write.pBufferInfo = &buffer_info;
598
599 get_device().updateDescriptorSets(1, &write, 0, nullptr);
600}
std::unordered_map< DescriptorSetID, DescriptorSetState > m_descriptor_sets

References get_device(), and m_descriptor_sets.

+ Here is the call graph for this function: