Magnum::Vk::DescriptorPoolCreateInfo class new in Git master

Descriptor pool creation info.

Wraps a VkDescriptorPoolCreateInfo and the nested VkDescriptorPoolSize structures. See Descriptor pool creation for usage information.

Public types

enum class Flag: UnsignedInt { FreeDescriptorSet = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, UpdateAfterBind = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT }
Descriptor pool creation flag.
using Flags = Containers::EnumSet<Flag>
DescriptorPool creation flags.

Constructors, destructors, conversion operators

DescriptorPoolCreateInfo(UnsignedInt maxSets, Containers::ArrayView<const Containers::Pair<DescriptorType, UnsignedInt>> poolSizes, Flags flags = {}) explicit
Constructor.
DescriptorPoolCreateInfo(UnsignedInt maxSets, std::initializer_list<Containers::Pair<DescriptorType, UnsignedInt>> poolSizes, Flags flags = {}) explicit
DescriptorPoolCreateInfo(NoInitT) explicit noexcept
Construct without initializing the contents.
DescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo& info) explicit
Construct from existing data.
DescriptorPoolCreateInfo(const DescriptorPoolCreateInfo&) deleted
Copying is not allowed.
DescriptorPoolCreateInfo(DescriptorPoolCreateInfo&& other) noexcept
Move constructor.
operator const VkDescriptorPoolCreateInfo*() const

Public functions

auto operator=(const DescriptorPoolCreateInfo&) -> DescriptorPoolCreateInfo& deleted
Copying is not allowed.
auto operator=(DescriptorPoolCreateInfo&& other) -> DescriptorPoolCreateInfo& noexcept
Move assignment.
auto operator*() -> VkDescriptorPoolCreateInfo&
Underlying VkDescriptorPoolCreateInfo structure.
auto operator*() const -> const VkDescriptorPoolCreateInfo&
auto operator->() -> VkDescriptorPoolCreateInfo*
auto operator->() const -> const VkDescriptorPoolCreateInfo*

Enum documentation

enum class Magnum::Vk::DescriptorPoolCreateInfo::Flag: UnsignedInt

Descriptor pool creation flag.

Wraps VkDescriptorPoolCreateFlagBits.

Enumerators
FreeDescriptorSet

Allow individual descriptor sets to be freed instead of just the whole pool.

UpdateAfterBind

Descriptor sets allocated from this pool can use bindings with the DescriptorSetLayoutBinding::Flag::UpdateAfterBind set.

Typedef documentation

typedef Containers::EnumSet<Flag> Magnum::Vk::DescriptorPoolCreateInfo::Flags

DescriptorPool creation flags.

Type-safe wrapper for VkDescriptorPoolCreateFlags.

Function documentation

Magnum::Vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(UnsignedInt maxSets, Containers::ArrayView<const Containers::Pair<DescriptorType, UnsignedInt>> poolSizes, Flags flags = {}) explicit

Constructor.

Parameters
maxSets Maximum count of descriptor sets that can be allocated from this pool. Has to be at least one.
poolSizes Pool sizes for each descriptor type. There has to be at least one, and pool sizes can't be zero.
flags DescriptorPool creation flags

The following VkDescriptorPoolCreateInfo fields are pre-filled in addition to sType, everything else is zero-filled:

  • flags
  • maxSets
  • poolSizeCount and pPoolSizes to poolSizes converted to a list of VkDescriptorPoolSize structures

Magnum::Vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(UnsignedInt maxSets, std::initializer_list<Containers::Pair<DescriptorType, UnsignedInt>> poolSizes, Flags flags = {}) explicit

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Magnum::Vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(NoInitT) explicit noexcept

Construct without initializing the contents.

Note that not even the sType field is set — the structure has to be fully initialized afterwards in order to be usable.

Magnum::Vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo& info) explicit

Construct from existing data.

Copies the existing values verbatim, pointers are kept unchanged without taking over the ownership. Modifying the newly created instance will not modify the original data nor the pointed-to data.

Magnum::Vk::DescriptorPoolCreateInfo::operator const VkDescriptorPoolCreateInfo*() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

const VkDescriptorPoolCreateInfo& Magnum::Vk::DescriptorPoolCreateInfo::operator*() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

VkDescriptorPoolCreateInfo* Magnum::Vk::DescriptorPoolCreateInfo::operator->()

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

const VkDescriptorPoolCreateInfo* Magnum::Vk::DescriptorPoolCreateInfo::operator->() const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.