vsg 1.1.3
VulkanSceneGraph library
Loading...
Searching...
No Matches
vsg::ResourceRequirements Class Reference

ResourceRequirements provides a container for various Vulkan resource requirements that can be used to help guide allocation of resources. More...

#include <ResourceRequirements.h>

Collaboration diagram for vsg::ResourceRequirements:

Classes

struct  DynamicData
 
struct  ViewDetails
 

Public Types

using Descriptors = std::set<const Descriptor*>
 
using DescriptorSets = std::set<const DescriptorSet*>
 
using DescriptorTypeMap = std::map<VkDescriptorType, uint32_t>
 
using Views = std::map<const View*, ViewDetails>
 
using ViewDetailStack = std::stack<ViewDetails>
 

Public Member Functions

 ResourceRequirements (ref_ptr< ResourceHints > hints={})
 
 ResourceRequirements (const ResourceRequirements &rhs)=default
 
ResourceRequirementsoperator= (const ResourceRequirements &rhs)=default
 
void apply (const ResourceHints &resourceHints)
 
uint32_t computeNumDescriptorSets () const
 
DescriptorPoolSizes computeDescriptorPoolSizes () const
 

Public Attributes

DynamicData earlyDynamicData
 
DynamicData lateDynamicData
 
Descriptors descriptors
 
DescriptorSets descriptorSets
 
DescriptorTypeMap descriptorTypeMap
 
Views views
 
ViewDetailStack viewDetailsStack
 
uint32_t maxSlot = 0
 
uint32_t externalNumDescriptorSets = 0
 
bool containsPagedLOD = false
 
VkDeviceSize minimumBufferSize = 16 * 1024 * 1024
 
VkDeviceSize minimumDeviceMemorySize = 16 * 1024 * 1024
 
uivec2 numLightsRange = {8, 1024}
 
uivec2 numShadowMapsRange = {0, 64}
 
uivec2 shadowMapSize = {2048, 2048}
 

Detailed Description

ResourceRequirements provides a container for various Vulkan resource requirements that can be used to help guide allocation of resources.


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