vsg  1.1.0
VulkanSceneGraph library
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
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:
Collaboration graph
[legend]

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: