Class DescriptorPool#

Inheritance Relationships#

Derived Type#

Class Documentation#

class DescriptorPool#

Subclassed by TRAP::Graphics::API::VulkanDescriptorPool

Public Functions

virtual ~DescriptorPool()#

Destructor.

consteval DescriptorPool(const DescriptorPool&) noexcept = delete#

Copy constructor.

consteval DescriptorPool &operator=(const DescriptorPool&) noexcept = delete#

Copy assignment operator.

constexpr DescriptorPool(DescriptorPool&&) noexcept = default#

Move constructor.

DescriptorPool &operator=(DescriptorPool&&) noexcept = default#

Move assignment operator.

virtual void Reset() = 0#

Reset the descriptor pool.

Note

This implicitly frees all descriptor sets allocated from the pool.

constexpr u32 GetDescriptorSetsNum() const noexcept#

Max number of descriptor sets managed by the pool.

Returns:

Number of descriptor sets.

virtual TRAP::Scope<DescriptorSet> RetrieveDescriptorSet(const RendererAPI::DescriptorSetDesc &desc) = 0#

Retrieve a new descriptor set from description.

Parameters:

desc – Descriptor set description.

Returns:

New descriptor set.

Public Static Functions

static TRAP::Ref<DescriptorPool> Create(u32 numDescriptorSets, std::string_view name = "")#

Create a new descriptor pool.

Parameters:
  • numDescriptorSets – Max amount of descriptors sets to be managed by the pool.

  • nameOptional: Name for the descriptor pool.

Returns:

Created descriptor pool.

Protected Functions

explicit DescriptorPool(u32 numDescriptorSets)#

Constructor.

Parameters:

numDescriptorSets – Max amount of descriptors sets to be managed by the pool.

Protected Attributes

u32 m_numDescriptorSets = 0#