15 #include <vsg/state/DescriptorSet.h>
24 DescriptorPool(
Device* device, uint32_t maxSets,
const DescriptorPoolSizes& descriptorPoolSizes);
26 operator VkDescriptorPool()
const {
return _descriptorPool; }
27 VkDescriptorPool vk()
const {
return _descriptorPool; }
29 Device* getDevice() {
return _device; }
30 const Device* getDevice()
const {
return _device; }
39 bool getAvailability(uint32_t& maxSets, DescriptorPoolSizes& descriptorPoolSizes)
const;
49 VkDescriptorPool _descriptorPool;
52 uint32_t _availableDescriptorSet;
53 DescriptorPoolSizes _availableDescriptorPoolSizes;
55 std::list<ref_ptr<DescriptorSet::Implementation>> _recyclingList;
DescriptorPool encapsulates management of VkDescriptorPool.
Definition: DescriptorPool.h:22
void freeDescriptorSet(ref_ptr< DescriptorSet::Implementation > dsi)
free DescriptorSet::Implementation for reuse - called automatically by destruction of DescriptorSet o...
ref_ptr< DescriptorSet::Implementation > allocateDescriptorSet(DescriptorSetLayout *descriptorSetLayout)
allocate or reuse available DescriptorSet::Implementation - called automatically when compiling Descr...
bool getAvailability(uint32_t &maxSets, DescriptorPoolSizes &descriptorPoolSizes) const
get the stats of the available DescriptorSets/Descriptors
std::mutex mutex
Definition: DescriptorPool.h:44
DescriptorSetLayout encapsulates VkDescriptorSetLayout and VkDescriptorSetLayoutCreateInfo settings u...
Definition: DescriptorSetLayout.h:28
Device encapsulates VkDevice, a logical handle to the PhysicalDevice with capabilities specified duri...
Definition: Device.h:37