MayaFlux 0.3.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 600 of file ShaderFoundry.cpp.

607{
608 auto it = m_descriptor_sets.find(descriptor_set_id);
609 if (it == m_descriptor_sets.end()) {
610 return;
611 }
612
613 vk::DescriptorBufferInfo buffer_info;
614 buffer_info.buffer = buffer;
615 buffer_info.offset = offset;
616 buffer_info.range = size;
617
618 vk::WriteDescriptorSet write;
619 write.dstSet = it->second.descriptor_set;
620 write.dstBinding = binding;
621 write.dstArrayElement = 0;
622 write.descriptorCount = 1;
623 write.descriptorType = type;
624 write.pBufferInfo = &buffer_info;
625
626 get_device().updateDescriptorSets(1, &write, 0, nullptr);
627}
std::unordered_map< DescriptorSetID, DescriptorSetState > m_descriptor_sets

References get_device(), and m_descriptor_sets.

+ Here is the call graph for this function: