MCPcopy Create free account
hub / github.com/SakuraEngine/SakuraEngine / DescriptorSets

Class DescriptorSets

SDKs/vulkan/vulkan/vulkan_raii.hpp:6775–6806  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6773 };
6774
6775 class DescriptorSets : public std::vector<VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DescriptorSet>
6776 {
6777 public:
6778 DescriptorSets( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const & device,
6779 VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo )
6780 {
6781 VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * dispatcher = device.getDispatcher();
6782 std::vector<VkDescriptorSet> descriptorSets( allocateInfo.descriptorSetCount );
6783 VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( dispatcher->vkAllocateDescriptorSets(
6784 static_cast<VkDevice>( *device ), reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), descriptorSets.data() ) );
6785 if ( result == VULKAN_HPP_NAMESPACE::Result::eSuccess )
6786 {
6787 this->reserve( allocateInfo.descriptorSetCount );
6788 for ( auto const & descriptorSet : descriptorSets )
6789 {
6790 this->emplace_back( device, descriptorSet, static_cast<VkDescriptorPool>( allocateInfo.descriptorPool ) );
6791 }
6792 }
6793 else
6794 {
6795 throwResultException( result, "vkAllocateDescriptorSets" );
6796 }
6797 }
6798
6799 DescriptorSets( std::nullptr_t ) {}
6800
6801 DescriptorSets() = delete;
6802 DescriptorSets( DescriptorSets const & ) = delete;
6803 DescriptorSets( DescriptorSets && rhs ) = default;
6804 DescriptorSets & operator=( DescriptorSets const & ) = delete;
6805 DescriptorSets & operator=( DescriptorSets && rhs ) = default;
6806 };
6807
6808 class DescriptorSetLayout
6809 {

Callers 1

vulkan_raii.hppFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected