структура D3D12_HEAP_PROPERTIES (d3d12.h)
Описывает свойства кучи.
Синтаксис
typedef struct D3D12_HEAP_PROPERTIES {
D3D12_HEAP_TYPE Type;
D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
D3D12_MEMORY_POOL MemoryPoolPreference;
UINT CreationNodeMask;
UINT VisibleNodeMask;
} D3D12_HEAP_PROPERTIES;
Члены
Type
Значение D3D12_HEAP_TYPEтипа, указывающее тип кучи.
CPUPageProperty
Значение D3D12_CPU_PAGE_PROPERTYтипа, указывающее свойства страницы ЦП для кучи.
MemoryPoolPreference
Значение D3D12_MEMORY_POOLтипа, указывающее пул памяти для кучи.
CreationNodeMask
Для операции с несколькими адаптерами это указывает узел, в котором должен быть создан ресурс.
Необходимо задать ровно один бит этого UINT. См. многоадаптерные системы.
Передача нуля эквивалентна передаче одного, чтобы упростить использование адаптеров с одним GPU.
VisibleNodeMask
Для операции с несколькими адаптерами это означает набор узлов, в которых отображается ресурс.
VisibleNodeMask должен иметь тот же битовый набор, который установлен в CreationNodeMask. VisibleNodeMask также может также иметь дополнительные биты для ресурсов между узлами, но это может снизить производительность доступа к ресурсам, поэтому это необходимо сделать только при необходимости.
Передача нуля эквивалентна передаче одного, чтобы упростить использование адаптеров с одним GPU.
Замечания
Эта структура используется следующим образом:
- структура D3D12_HEAP_DESC
- ID3D12Resource::GetHeapProperties
- ID3D12Device::GetCustomHeapProperties
- ID3D12Device::CreateCommittedResource
- Если
D3D12_HEAP_TYPE _CUSTOM типа, CPUPageProper ty иMemoryPoolPreference не должны быть ..._UNKNOWN. - Если тип не D3D12_HEAP_TYPE_CUSTOM, CPUPageProperty и MemoryPoolPreference должны быть ..._UNKNOWN.
- При использовании D3D12_HEAP_TYPE_CUSTOM и D3D12_MEMORY_POOL_L1 на адаптерах NUMA CPUPageProper ty необходимо D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE. Чтобы отличить NUMA от адаптеров UMA, см. D3D12_FEATURE_ARCHITECTURE и D3D12_FEATURE_DATA_ARCHITECTURE.
Требования
Требование | Ценность |
---|---|
заголовка | d3d12.h |