vsg: vsg::ResourceRequirements Class Reference

vsg 1.1.13 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:
[legend]

## Classes
struct | ViewDetails
struct | DynamicData

## 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 (const ResourceRequirements &rhs)=default
| ResourceRequirements (ref_ptr< ResourceHints > hints)
ResourceRequirements & | operator= (const ResourceRequirements &rhs)=default
void | apply (const ResourceHints &resourceHints)
uint32_t | computeNumDescriptorSets () const
DescriptorPoolSizes | computeDescriptorPoolSizes () const

## Public Attributes
DynamicData | dynamicData
Descriptors | descriptors
DescriptorSets | descriptorSets
DescriptorTypeMap | descriptorTypeMap
Views | views
ViewDetailStack | viewDetailsStack
Slots | maxSlots
uint32_t | externalNumDescriptorSets = 0
bool | containsPagedLOD = false
VkDeviceSize | minimumBufferSize = 16 * 1024 * 1024
VkDeviceSize | minimumDeviceMemorySize = 16 * 1024 * 1024
VkDeviceSize | minimumStagingBufferSize = 16 * 1024 * 1024
uivec2 | numLightsRange = {8, 1024}
uivec2 | numShadowMapsRange = {0, 64}
uivec2 | shadowMapSize = {2048, 2048}
DataTransferHint | dataTransferHint = COMPILE_TRAVERSAL_USE_TRANSFER_TASK
uint32_t | viewportStateHint = DYNAMIC_VIEWPORTSTATE

## 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:

- include/vsg/vk/ResourceRequirements.h