vsg
1.1.0
VulkanSceneGraph library
|
ResourceRequirements provides a container for various Vulkan resource requirements that can be used to help guide allocation of resources. More...
#include <ResourceRequirements.h>
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 | |
ResourceRequirements & | operator= (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} |
ResourceRequirements provides a container for various Vulkan resource requirements that can be used to help guide allocation of resources.