在 Direct3D 12 中,D3D12_QUERY_DATA_PIPELINE_STATISTICS 结构体用于存储管线统计查询的结果。这个结构体包含了关于图形渲染管线的统计信息。以下是该结构体的定义:
typedef struct D3D12_QUERY_DATA_PIPELINE_STATISTICS {
  UINT64 IAVertices;
  UINT64 IAPrimitives;
  UINT64 VSInvocations;
  UINT64 GSInvocations;
  UINT64 GSPrimitives;
  UINT64 CInvocations;
  UINT64 CPrimitives;
  UINT64 PSInvocations;
  UINT64 HSInvocations;
  UINT64 DSInvocations;
  UINT64 CSInvocations;
} D3D12_QUERY_DATA_PIPELINE_STATISTICS;

这个结构体包含以下字段:

  •  IAVertices: 输入装配阶段(Input Assembler)的顶点数。


  •  IAPrimitives: 输入装配阶段的图元数。


  •  VSInvocations: 顶点着色器的调用次数。


  •  GSInvocations: 几何着色器的调用次数。


  •  GSPrimitives: 几何着色器产生的图元数。


  •  CInvocations: 光栅化阶段(Rasterizer)的调用次数。


  •  CPrimitives: 光栅化阶段产生的图元数。


  •  PSInvocations: 像素着色器的调用次数。


  •  HSInvocations: 域着色器的调用次数。


  •  DSInvocations: 像素着色器的调用次数。


  •  CSInvocations: 计算着色器的调用次数。


这个结构体通常用于从 GPU 查询渲染管线的统计信息,以了解在渲染过程中各个阶段的工作负载。你可以使用 ID3D12GraphicsCommandList::EndQuery 和 ID3D12GraphicsCommandList::ResolveQueryData 等函数来进行查询。


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