Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject > Class Template Reference

#include <DescriptorManager.h>

Collaboration diagram for Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >:

Public Member Functions

 CSingleTypeDescriptorSetBinding (CDevice *device, const VkDescriptorType type, const uint32_t size, std::unordered_map< CStrIntern, uint32_t > mapping)
 
int32_t GetBindingSlot (const CStrIntern name) const
 
void SetObject (const int32_t bindingSlot, DeviceObject *object)
 
bool IsOutdated () const
 
VkDescriptorSet UpdateAndReturnDescriptorSet ()
 
void Unbind ()
 
VkDescriptorSetLayout GetDescriptorSetLayout ()
 
const std::vector< DeviceObject * > & GetBoundDeviceObjects () const
 

Private Attributes

CDevice *const m_Device
 
const VkDescriptorType m_Type
 
const std::unordered_map< CStrIntern, uint32_tm_Mapping
 
bool m_Outdated {true}
 
VkDescriptorSetLayout m_DescriptorSetLayout {VK_NULL_HANDLE}
 
std::vector< DeviceObject * > m_BoundDeviceObjects
 
std::vector< DeviceObjectUIDm_BoundUIDs
 

Constructor & Destructor Documentation

◆ CSingleTypeDescriptorSetBinding()

template<typename DeviceObject >
Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::CSingleTypeDescriptorSetBinding ( CDevice device,
const VkDescriptorType  type,
const uint32_t  size,
std::unordered_map< CStrIntern, uint32_t mapping 
)
inline

Member Function Documentation

◆ GetBindingSlot()

template<typename DeviceObject >
int32_t Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::GetBindingSlot ( const CStrIntern  name) const
inline

◆ GetBoundDeviceObjects()

template<typename DeviceObject >
const std::vector< DeviceObject * > & Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::GetBoundDeviceObjects ( ) const
inline

◆ GetDescriptorSetLayout()

template<typename DeviceObject >
VkDescriptorSetLayout Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::GetDescriptorSetLayout ( )
inline

◆ IsOutdated()

template<typename DeviceObject >
bool Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::IsOutdated ( ) const
inline

◆ SetObject()

template<typename DeviceObject >
void Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::SetObject ( const int32_t  bindingSlot,
DeviceObject *  object 
)
inline

◆ Unbind()

template<typename DeviceObject >
void Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::Unbind ( )
inline

◆ UpdateAndReturnDescriptorSet()

template<typename DeviceObject >
VkDescriptorSet Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::UpdateAndReturnDescriptorSet ( )
inline

Member Data Documentation

◆ m_BoundDeviceObjects

template<typename DeviceObject >
std::vector<DeviceObject*> Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_BoundDeviceObjects
private

◆ m_BoundUIDs

template<typename DeviceObject >
std::vector<DeviceObjectUID> Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_BoundUIDs
private

◆ m_DescriptorSetLayout

template<typename DeviceObject >
VkDescriptorSetLayout Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_DescriptorSetLayout {VK_NULL_HANDLE}
private

◆ m_Device

template<typename DeviceObject >
CDevice* const Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_Device
private

◆ m_Mapping

template<typename DeviceObject >
const std::unordered_map<CStrIntern, uint32_t> Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_Mapping
private

◆ m_Outdated

template<typename DeviceObject >
bool Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_Outdated {true}
private

◆ m_Type

template<typename DeviceObject >
const VkDescriptorType Renderer::Backend::Vulkan::CSingleTypeDescriptorSetBinding< DeviceObject >::m_Type
private

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