MayaFlux 0.4.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 599 of file ShaderFoundry.cpp.

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

References get_device(), m_descriptor_sets, and size.

+ Here is the call graph for this function: