D3D12_QUERY_HEAP_DESC 是 Direct3D 12 中的一个结构体,用于描述查询堆(Query Heap)的属性。查询堆用于存储 GPU 查询,例如时间戳查询或流水线统计信息。

以下是 D3D12_QUERY_HEAP_DESC 结构的定义:
typedef struct D3D12_QUERY_HEAP_DESC {
  D3D12_QUERY_HEAP_TYPE      Type;
  UINT                       Count;
  D3D12_QUERY_HEAP_FLAGS     Flags;
  UINT                       NodeMask;
} D3D12_QUERY_HEAP_DESC;

结构体成员的含义如下:

  •  Type: 指定查询堆的类型,可以是以下之一:

  - D3D12_QUERY_HEAP_TYPE_OCCLUSION: 用于遮挡查询。
  - D3D12_QUERY_HEAP_TYPE_TIMESTAMP: 用于时间戳查询。
  - D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS: 用于流水线统计信息查询。
  - D3D12_QUERY_HEAP_TYPE_SO_STATISTICS: 用于流输出统计信息查询。

  •  Count: 指定查询堆中查询的数量。


  •  Flags: 用于指定查询堆的标志,可以是以下之一:

  - D3D12_QUERY_HEAP_FLAG_NONE: 无标志。
  - D3D12_QUERY_HEAP_FLAG_OCCLUSION_PREDICATE: 用于遮挡谓词查询。
  - D3D12_QUERY_HEAP_FLAG_PIPELINE_STATISTICS: 用于流水线统计信息查询。
  - D3D12_QUERY_HEAP_FLAG_SO_STATISTICS: 用于流输出统计信息查询。

  •  NodeMask: 用于指定在多 GPU 环境中的节点掩码。


这个结构体主要用于创建查询堆时提供查询堆的描述信息。例如,你可以使用这个结构体创建一个查询堆对象,然后使用该对象来执行 GPU 查询。


转载请注明出处:http://www.zyzy.cn/article/detail/25956/Win32 API/D3d12.h/D3D12_QUERY_HEAP_DESC