Diligent Engine  v.2.4.g
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Diligent::DescriptorPoolManager Class Reference

#include <DescriptorPoolManager.hpp>

Inheritance diagram for Diligent::DescriptorPoolManager:
Diligent::DescriptorSetAllocator

Public Member Functions

 DescriptorPoolManager (RenderDeviceVkImpl &DeviceVkImpl, std::string PoolName, std::vector< VkDescriptorPoolSize > PoolSizes, uint32_t MaxSets, bool AllowFreeing) noexcept
 
 ~DescriptorPoolManager ()
 
 DescriptorPoolManager (const DescriptorPoolManager &)=delete
 
DescriptorPoolManageroperator= (const DescriptorPoolManager &)=delete
 
 DescriptorPoolManager (DescriptorPoolManager &&)=delete
 
DescriptorPoolManageroperator= (DescriptorPoolManager &&)=delete
 
VulkanUtilities::DescriptorPoolWrapper GetPool (const char *DebugName)
 
void DisposePool (VulkanUtilities::DescriptorPoolWrapper &&Pool, Uint64 QueueMask)
 
RenderDeviceVkImplGetDeviceVkImpl ()
 

Protected Member Functions

VulkanUtilities::DescriptorPoolWrapper CreateDescriptorPool (const char *DebugName) const
 

Protected Attributes

RenderDeviceVkImplm_DeviceVkImpl
 
const std::string m_PoolName
 
const std::vector< VkDescriptorPoolSize > m_PoolSizes
 
const uint32_t m_MaxSets
 
const bool m_AllowFreeing
 
std::mutex m_Mutex
 
std::deque< VulkanUtilities::DescriptorPoolWrapperm_Pools
 

Constructor & Destructor Documentation

◆ DescriptorPoolManager() [1/3]

Diligent::DescriptorPoolManager::DescriptorPoolManager ( RenderDeviceVkImpl DeviceVkImpl,
std::string  PoolName,
std::vector< VkDescriptorPoolSize >  PoolSizes,
uint32_t  MaxSets,
bool  AllowFreeing 
)
noexcept

◆ ~DescriptorPoolManager()

Diligent::DescriptorPoolManager::~DescriptorPoolManager ( )

◆ DescriptorPoolManager() [2/3]

Diligent::DescriptorPoolManager::DescriptorPoolManager ( const DescriptorPoolManager )
delete

◆ DescriptorPoolManager() [3/3]

Diligent::DescriptorPoolManager::DescriptorPoolManager ( DescriptorPoolManager &&  )
delete

Member Function Documentation

◆ CreateDescriptorPool()

VulkanUtilities::DescriptorPoolWrapper Diligent::DescriptorPoolManager::CreateDescriptorPool ( const char *  DebugName) const
protected

◆ DisposePool()

void Diligent::DescriptorPoolManager::DisposePool ( VulkanUtilities::DescriptorPoolWrapper &&  Pool,
Uint64  QueueMask 
)

◆ GetDeviceVkImpl()

RenderDeviceVkImpl& Diligent::DescriptorPoolManager::GetDeviceVkImpl ( )
inline

◆ GetPool()

VulkanUtilities::DescriptorPoolWrapper Diligent::DescriptorPoolManager::GetPool ( const char *  DebugName)

◆ operator=() [1/2]

DescriptorPoolManager& Diligent::DescriptorPoolManager::operator= ( const DescriptorPoolManager )
delete

◆ operator=() [2/2]

DescriptorPoolManager& Diligent::DescriptorPoolManager::operator= ( DescriptorPoolManager &&  )
delete

Member Data Documentation

◆ m_AllowFreeing

const bool Diligent::DescriptorPoolManager::m_AllowFreeing
protected

◆ m_DeviceVkImpl

RenderDeviceVkImpl& Diligent::DescriptorPoolManager::m_DeviceVkImpl
protected

◆ m_MaxSets

const uint32_t Diligent::DescriptorPoolManager::m_MaxSets
protected

◆ m_Mutex

std::mutex Diligent::DescriptorPoolManager::m_Mutex
protected

◆ m_PoolName

const std::string Diligent::DescriptorPoolManager::m_PoolName
protected

◆ m_Pools

std::deque<VulkanUtilities::DescriptorPoolWrapper> Diligent::DescriptorPoolManager::m_Pools
protected

◆ m_PoolSizes

const std::vector<VkDescriptorPoolSize> Diligent::DescriptorPoolManager::m_PoolSizes
protected

The documentation for this class was generated from the following files: