luna engine
software engine
Loading...
Searching...
No Matches
luna::utils::vulkanDescriptorPool Class Reference

vulkan descriptor pool and descriptorset wrapper class. More...

#include <vulkanDescriptorPool.h>

Collaboration diagram for luna::utils::vulkanDescriptorPool:

Public Member Functions

 vulkanDescriptorPool (const ref< vulkan::vulkanDevice > &pDevice, VkDescriptorPoolSize *pPoolSizes, const uint32_t &poolSizeCountconst, const std::vector< renderer::shaderResource > &shaderLayout, VkDescriptorSetLayoutCreateFlags flags)
 descroptor pool constructor. More...
 
virtual ~vulkanDescriptorPool ()=default
 
VkResult createDescriptorSets (std::vector< ref< vulkanDescriptorSet > > &descriptorSets)
 
VkDescriptorSetLayout getLayout ()
 
VkDescriptorSetLayout * getLayoutPtr ()
 

Private Member Functions

VkDescriptorSetLayout createDescriptorLayouts (const std::vector< renderer::shaderResource > &shaderLayout, VkDescriptorSetLayoutCreateFlags flags)
 
void createDescriptorWrites (const std::vector< renderer::shaderResource > &shaderLayout)
 

Private Attributes

ref< vulkan::vulkanDevicedevice
 
VkDescriptorPool descriptorPool
 
VkDescriptorSetLayout layout
 
std::vector< VkWriteDescriptorSet > descriptorWrites
 

Detailed Description

vulkan descriptor pool and descriptorset wrapper class.

Constructor & Destructor Documentation

◆ vulkanDescriptorPool()

luna::utils::vulkanDescriptorPool::vulkanDescriptorPool ( const ref< vulkan::vulkanDevice > &  pDevice,
VkDescriptorPoolSize *  pPoolSizes,
const uint32_t &  poolSizeCountconst,
const std::vector< renderer::shaderResource > &  shaderLayout,
VkDescriptorSetLayoutCreateFlags  flags 
)

descroptor pool constructor.

◆ ~vulkanDescriptorPool()

virtual luna::utils::vulkanDescriptorPool::~vulkanDescriptorPool ( )
virtualdefault

Member Function Documentation

◆ createDescriptorLayouts()

VkDescriptorSetLayout luna::utils::vulkanDescriptorPool::createDescriptorLayouts ( const std::vector< renderer::shaderResource > &  shaderLayout,
VkDescriptorSetLayoutCreateFlags  flags 
)
private

◆ createDescriptorSets()

VkResult luna::utils::vulkanDescriptorPool::createDescriptorSets ( std::vector< ref< vulkanDescriptorSet > > &  descriptorSets)

◆ createDescriptorWrites()

void luna::utils::vulkanDescriptorPool::createDescriptorWrites ( const std::vector< renderer::shaderResource > &  shaderLayout)
private

◆ getLayout()

VkDescriptorSetLayout luna::utils::vulkanDescriptorPool::getLayout ( )
inline

◆ getLayoutPtr()

VkDescriptorSetLayout * luna::utils::vulkanDescriptorPool::getLayoutPtr ( )
inline

Member Data Documentation

◆ descriptorPool

VkDescriptorPool luna::utils::vulkanDescriptorPool::descriptorPool
private

◆ descriptorWrites

std::vector<VkWriteDescriptorSet> luna::utils::vulkanDescriptorPool::descriptorWrites
private

◆ device

ref<vulkan::vulkanDevice> luna::utils::vulkanDescriptorPool::device
private

◆ layout

VkDescriptorSetLayout luna::utils::vulkanDescriptorPool::layout
private

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