在 Direct3D 12 API 中,D3D12_FEATURE_DATA_ARCHITECTURE 结构用于检索关于硬件架构的信息。以下是该结构的定义:
typedef struct D3D12_FEATURE_DATA_ARCHITECTURE {
  UINT NodeIndex;
  UINT Revision;
  SIZE_T DedicatedVideoMemory;
  SIZE_T DedicatedSystemMemory;
  SIZE_T SharedSystemMemory;
  D3D12_GPU_VIRTUAL_ADDRESS ReservedForEncoderCommandLists;
  D3D12_GPU_VIRTUAL_ADDRESS ReservedForExecuteIndirect;
  D3D12_GPU_VIRTUAL_ADDRESS ReservedForResourceBuffer;
  BOOL SupportsMultiAdapter;
  BOOL SupportsUMA;
  BOOL SupportsCCUMA;
  BOOL SupportsCacheCoherentUMA;
}
D3D12_FEATURE_DATA_ARCHITECTURE;

结构的成员如下:

  •  NodeIndex: 一个无符号整数,表示节点的索引。对于单GPU系统,通常为0。


  •  Revision: 表示硬件架构的版本。


  •  DedicatedVideoMemory: 以字节为单位的无符号整数,表示专用于视频内存的大小。


  •  DedicatedSystemMemory: 以字节为单位的无符号整数,表示专用于系统内存的大小。


  •  SharedSystemMemory: 以字节为单位的无符号整数,表示共享的系统内存的大小。


  •  ReservedForEncoderCommandLists: D3D12_GPU_VIRTUAL_ADDRESS 类型,表示为编码器命令列表保留的 GPU 虚拟地址。


  •  ReservedForExecuteIndirect: D3D12_GPU_VIRTUAL_ADDRESS 类型,表示为执行间接命令保留的 GPU 虚拟地址。


  •  ReservedForResourceBuffer: D3D12_GPU_VIRTUAL_ADDRESS 类型,表示为资源缓冲区保留的 GPU 虚拟地址。


  •  SupportsMultiAdapter: 表示硬件是否支持多适配器。


  •  SupportsUMA: 表示硬件是否支持统一内存体系结构(UMA)。


  •  SupportsCCUMA: 表示硬件是否支持缓存一致的统一内存体系结构(CCUMA)。


  •  SupportsCacheCoherentUMA: 表示硬件是否支持缓存一致的统一内存体系结构(UMA)。


这个结构允许应用程序查询硬件架构的一些关键信息,以便更好地了解系统的性能和资源分配。如果需要更详细的信息,建议查阅 Microsoft 的官方文档或最新版本的 Direct3D 12 头文件(D3d12.h)中的注释。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25927/Win32 API/D3d12.h/D3D12_FEATURE_DATA_ARCHITECTURE