40class FGE_API DescriptorPool :
public ContextAware
43 explicit DescriptorPool(
Context const& context);
44 DescriptorPool(DescriptorPool
const& r) =
delete;
45 DescriptorPool(DescriptorPool&& r)
noexcept;
46 ~DescriptorPool()
override;
48 DescriptorPool& operator=(DescriptorPool
const& r) =
delete;
49 DescriptorPool& operator=(DescriptorPool&& r)
noexcept =
delete;
62 void create(std::vector<VkDescriptorPoolSize>&& descriptorPoolSizes,
63 uint32_t maxSetsPerPool,
65 bool individuallyFree);
79 uint32_t variableElements = 0) const;
89 void freeDescriptorSet(VkDescriptorSet descriptorSet, VkDescriptorPool descriptorPool) 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;
Vulkan context.
Definition C_context.hpp:70
void create(std::vector< VkDescriptorPoolSize > &&descriptorPoolSizes, uint32_t maxSetsPerPool, bool isUnique, bool individuallyFree)
Create the descriptor pool.