MayaFlux 0.2.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 589 of file ShaderFoundry.cpp.

596{
597 auto it = m_descriptor_sets.find(descriptor_set_id);
598 if (it == m_descriptor_sets.end()) {
599 return;
600 }
601
602 vk::DescriptorBufferInfo buffer_info;
603 buffer_info.buffer = buffer;
604 buffer_info.offset = offset;
605 buffer_info.range = size;
606
607 vk::WriteDescriptorSet write;
608 write.dstSet = it->second.descriptor_set;
609 write.dstBinding = binding;
610 write.dstArrayElement = 0;
611 write.descriptorCount = 1;
612 write.descriptorType = type;
613 write.pBufferInfo = &buffer_info;
614
615 get_device().updateDescriptorSets(1, &write, 0, nullptr);
616}
std::unordered_map< DescriptorSetID, DescriptorSetState > m_descriptor_sets

References get_device(), and m_descriptor_sets.

+ Here is the call graph for this function: