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类型化值,该值指定堆的 CPU 页属性。
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 类型 时,CPUPageProperty 和 MemoryPoolPreference 不得..._UNKNOWN。
- 当 类型 未D3D12_HEAP_TYPE_CUSTOM时,CPUPageProperty 和 MemoryPoolPreference 必须..._UNKNOWN。
- 使用D3D12_HEAP_TYPE_CUSTOM和 D3D12_MEMORY_POOL_L1 时,在 NUMA 适配器上,CPUPageProperty 必须 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE。 若要区分 NUMA 与 UMA 适配器,请参阅 D3D12_FEATURE_ARCHITECTURE 和 D3D12_FEATURE_DATA_ARCHITECTURE。
要求
要求 | 价值 |
---|---|
标头 | d3d12.h |