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 |