D3D11_TRACE_REGISTER 结构 (d3d11shadertracing.h)

描述跟踪寄存器。

语法

typedef struct D3D11_TRACE_REGISTER {
  D3D11_TRACE_REGISTER_TYPE RegType;
  union {
    UINT16 Index1D;
    UINT16 Index2D[2];
  };
  UINT8                     OperandIndex;
  UINT8                     Flags;
} D3D11_TRACE_REGISTER;

成员

RegType

一个 D3D11_TRACE_REGISTER_TYPE类型的值,该值标识着色器跟踪对象使用的寄存器类型。

Index1D

一维数组的索引。 以下寄存器类型使用此索引:

  • 顶点着色器或像素着色器输入:v[Index1D]
  • temp: r[Index1D]
  • 输出:o[Index1D]
  • 即时常量缓冲区:icb[Index1D]
  • sampler s[Index1D]
  • resource r[Index1D]
  • 输入修补程序常量寄存器:vpc[Index1D]
  • 无序访问视图:u[Index1D]
  • 线程组共享内存:g[Index1D]

Index2D[2]

二维数组的索引数组。 以下寄存器类型使用这些索引:

  • GS 输入:v[Index2D[0]][Index2D[1]]
  • indexable temp:x[Index2D[0]][Index2D[1]]
  • 常量缓冲区:cb#[#]
  • 输入控制点寄存器:vcp[Index2D[0]][Index2D[1]]
  • 输出控制点寄存器:vocp[Index2D[0]][Index2D[1]]

OperandIndex

操作数的索引,从 0 开始。

Flags

使用按位 OR 运算组合的以下标志的组合。 生成的值指定有关跟踪寄存器的详细信息。

标志 描述
D3D11_TRACE_REGISTER_FLAGS_RELATIVE_INDEXING (0x1) 对寄存器的访问是寄存器相对索引的一部分。

注解

以下寄存器类型不需要索引:

  • input PrimitiveID
  • output oDepth
  • immediate32
  • NULL 寄存器
  • 输出控制点 ID (这实际上是一个输入;它定义线程控制的输出)
  • 输入分支实例 ID
  • 输入联接实例 ID
  • 输入域点寄存器
  • 周期计数器
注意此 API 需要 Windows 8 的 Windows 软件开发工具包 (Windows SDK) (SDK) 。
 

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
标头 d3d11shadertracing.h

另请参阅

着色器结构