This class manages descriptor pools, and allows for the allocation of descriptor sets.
More...
#include <DescriptorBuilder.hpp>
|
| | PoolManager (VkDevice device) |
| |
| | ~PoolManager () |
| |
| void | resetPools () |
| | Resets pools More...
|
| |
| bool | allocateDescriptorSet (VkDescriptorSetLayout layout, VkDescriptorSet &descSet) |
| | Allocates a descriptor set from the pool More...
|
| |
| VkDescriptorPool | createPool (VkDevice device, VkDescriptorPoolCreateFlags flags, uint32_t maxSets, const std::vector< VkDescriptorPoolSize > &poolSizes) |
| | Allocates a descriptor pool and adds it to the free pools. More...
|
| |
| VkDevice | getDevice () const |
| | Returns the logical device used by this manager. More...
|
| |
|
| VkDescriptorPool | grabPool () |
| | Returns a pool from free pools or creates a new one. Does not push the returned pool to used pools. More...
|
| |
This class manages descriptor pools, and allows for the allocation of descriptor sets.
◆ PoolManager()
| PoolManager::PoolManager |
( |
VkDevice |
device | ) |
|
◆ ~PoolManager()
| PoolManager::~PoolManager |
( |
| ) |
|
◆ allocateDescriptorSet()
| bool PoolManager::allocateDescriptorSet |
( |
VkDescriptorSetLayout |
layout, |
|
|
VkDescriptorSet & |
descSet |
|
) |
| |
Allocates a descriptor set from the pool
- Parameters
-
| layout | Layout to be used |
| descSet | Descriptor set to be allocated |
- Returns
◆ createPool()
| VkDescriptorPool PoolManager::createPool |
( |
VkDevice |
device, |
|
|
VkDescriptorPoolCreateFlags |
flags, |
|
|
uint32_t |
maxSets, |
|
|
const std::vector< VkDescriptorPoolSize > & |
poolSizes |
|
) |
| |
Allocates a descriptor pool and adds it to the free pools.
- Parameters
-
| device | logical device |
| flags | flags |
| maxSets | maximum number of sets to be allocated from this pool |
| poolSizes | List of limits on individual descriptors that can be allocated from this pool. For example 2 uniform buffers or 3 images. |
- Returns
◆ getDevice()
| VkDevice PoolManager::getDevice |
( |
| ) |
const |
|
inline |
Returns the logical device used by this manager.
- Returns
◆ grabPool()
| VkDescriptorPool PoolManager::grabPool |
( |
| ) |
|
|
private |
Returns a pool from free pools or creates a new one. Does not push the returned pool to used pools.
- Returns
◆ resetPools()
| void PoolManager::resetPools |
( |
| ) |
|
◆ currentPoolM
| VkDescriptorPool PoolManager::currentPoolM |
|
private |
◆ freePoolsM
| std::vector<VkDescriptorPool> PoolManager::freePoolsM |
|
private |
◆ logDeviceM
| VkDevice PoolManager::logDeviceM |
|
private |
◆ usedPoolsM
| std::vector<VkDescriptorPool> PoolManager::usedPoolsM |
|
private |
The documentation for this class was generated from the following files: