Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::DeviceMemoryCreateInfo Struct Reference

Device memory create information. More...

#include <DeviceMemory.h>

Public Attributes

DeviceMemoryDesc Desc
 Device memory description, see Diligent::DeviceMemoryDesc.
 
Uint64 InitialSize = 0
 Initial size of the memory object.
 
IDeviceObject ** ppCompatibleResources = nullptr
 An array of NumResources resources that this memory must be compatible with.
 
Uint32 NumResources = 0
 The number of elements in the ppCompatibleResources array.
 

Detailed Description

Device memory create information.

Member Data Documentation

◆ InitialSize

Uint64 Diligent::DeviceMemoryCreateInfo::InitialSize = 0

Initial size of the memory object.

Some implementations do not support IDeviceMemory::Resize() and memory can only be allocated during the initialization.

◆ ppCompatibleResources

IDeviceObject** Diligent::DeviceMemoryCreateInfo::ppCompatibleResources = nullptr

An array of NumResources resources that this memory must be compatible with.

For sparse memory, only Diligent::USAGE_SPARSE buffer and texture resources are allowed.

Vulkan backend requires at least one resource to be provided.

In Direct3D12, the list of resources is optional on D3D12_RESOURCE_HEAP_TIER_2-hardware and above, but is required on D3D12_RESOURCE_HEAP_TIER_1-hardware (see SPARSE_RESOURCE_CAP_FLAG_MIXED_RESOURCE_TYPE_SUPPORT).

It is recommended to always provide the list.