62 void create(std::vector<VkDescriptorPoolSize>&& descriptorPoolSizes,
63 uint32_t maxSetsPerPool,
65 bool individuallyFree);
78 [[nodiscard]] std::optional<
DescriptorSet> allocateDescriptorSet(VkDescriptorSetLayout layout,
79 uint32_t variableElements = 0) const;
89 void freeDescriptorSet(VkDescriptorSet descriptorSet, VkDescriptorPool descriptorPool) const;
95 void resetPools() const;
97 [[nodiscard]] uint32_t getMaxSetsPerPool() const;
98 [[nodiscard]]
bool isUnique() const;
99 [[nodiscard]]
bool isCreated() const;
104 VkDescriptorPool _pool;
108 [[nodiscard]] Pool createPool()
const;
110 std::vector<VkDescriptorPoolSize> g_descriptorPoolSizes;
112 uint32_t g_maxSetsPerPool;
113 mutable std::vector<Pool> g_descriptorPools;
116 bool g_individuallyFree;
Definition C_contextAware.hpp:28
Vulkan context.
Definition C_context.hpp:70
void create(std::vector< VkDescriptorPoolSize > &&descriptorPoolSizes, uint32_t maxSetsPerPool, bool isUnique, bool individuallyFree)
Create the descriptor pool.