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

◆ update_descriptor_image()

void MayaFlux::Portal::Graphics::ShaderFoundry::update_descriptor_image ( DescriptorSetID  descriptor_set_id,
uint32_t  binding,
vk::ImageView  image_view,
vk::Sampler  sampler,
vk::ImageLayout  layout = vk::ImageLayout::eShaderReadOnlyOptimal,
uint32_t  array_element = 0 
)

Update descriptor set with image binding.

Parameters
descriptor_set_idID of descriptor set to update
bindingBinding index within the descriptor set
image_viewVulkan image view to bind
samplerVulkan sampler to bind
layoutImage layout (default: eShaderReadOnlyOptimal)
array_elementArray index for array bindings (default: 0)

Definition at line 712 of file ShaderFoundry.cpp.

719{
720 auto it = m_descriptor_sets.find(descriptor_set_id);
721 if (it == m_descriptor_sets.end()) {
722 return;
723 }
724
725 vk::DescriptorImageInfo image_info;
726 image_info.imageView = image_view;
727 image_info.sampler = sampler;
728 image_info.imageLayout = layout;
729
730 vk::WriteDescriptorSet write;
731 write.dstSet = it->second.descriptor_set;
732 write.dstBinding = binding;
733 write.dstArrayElement = array_element;
734 write.descriptorCount = 1;
735 write.descriptorType = vk::DescriptorType::eCombinedImageSampler;
736 write.pImageInfo = &image_info;
737
738 get_device().updateDescriptorSets(1, &write, 0, nullptr);
739}
vk::Device get_device() const
Get logical device handle.
std::unordered_map< DescriptorSetID, DescriptorSetState > m_descriptor_sets

References get_device(), and m_descriptor_sets.

+ Here is the call graph for this function: