vsg 1.1.10
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 (const ResourceRequirements &rhs)=default
 ResourceRequirements (ref_ptr< ResourceHints > hints)
ResourceRequirementsoperator= (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
uint32_t maxSlot = 0
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

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: