MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Hpp / updateDescriptorSets

Function updateDescriptorSets

samples/utils/utils.cpp:660–682  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

658 }
659
660 void updateDescriptorSets( vk::Device const & device,
661 vk::DescriptorSet const & descriptorSet,
662 std::vector<std::tuple<vk::DescriptorType, vk::Buffer const &, vk::DeviceSize, vk::BufferView const &>> const & bufferData,
663 vk::su::TextureData const & textureData,
664 uint32_t bindingOffset )
665 {
666 std::vector<vk::DescriptorBufferInfo> bufferInfos;
667 bufferInfos.reserve( bufferData.size() );
668
669 std::vector<vk::WriteDescriptorSet> writeDescriptorSets;
670 writeDescriptorSets.reserve( bufferData.size() + 1 );
671 uint32_t dstBinding = bindingOffset;
672 for ( auto const & bd : bufferData )
673 {
674 bufferInfos.emplace_back( std::get<1>( bd ), 0, std::get<2>( bd ) );
675 writeDescriptorSets.emplace_back( descriptorSet, dstBinding++, 0, 1, std::get<0>( bd ), nullptr, &bufferInfos.back(), &std::get<3>( bd ) );
676 }
677
678 vk::DescriptorImageInfo imageInfo( textureData.sampler, textureData.imageData->imageView, vk::ImageLayout::eShaderReadOnlyOptimal );
679 writeDescriptorSets.emplace_back( descriptorSet, dstBinding, 0, vk::DescriptorType::eCombinedImageSampler, imageInfo, nullptr, nullptr );
680
681 device.updateDescriptorSets( writeDescriptorSets, nullptr );
682 }
683
684 void updateDescriptorSets( vk::Device const & device,
685 vk::DescriptorSet const & descriptorSet,

Callers 11

mainFunction · 0.50
mainFunction · 0.50
mainFunction · 0.50
mainFunction · 0.50
AssetMethod · 0.50
mainFunction · 0.50
mainFunction · 0.50
mainFunction · 0.50
mainFunction · 0.50
mainFunction · 0.50
mainFunction · 0.50

Calls

no outgoing calls

Tested by

no test coverage detected