D3D10DDIARG_STAGE_IO_SIGNATURES 结构 (d3d10umddi.h)

D3D10DDIARG_STAGE_IO_SIGNATURES结构描述 I/O 签名。

语法

typedef struct D3D10DDIARG_STAGE_IO_SIGNATURES {
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pInputSignature;
  [in] UINT                        NumInputSignatureEntries;
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pOutputSignature;
  [in] UINT                        NumOutputSignatureEntries;
} D3D10DDIARG_STAGE_IO_SIGNATURES;

成员

[in] pInputSignature

签名的输入部分的 D3D10DDIARG_SIGNATURE_ENTRY 结构的数组。

[in] NumInputSignatureEntries

pInputSignature 成员指定的数组中的条目数。

[in] pOutputSignature

签名输出部分的 D3D10DDIARG_SIGNATURE_ENTRY 结构的数组。

[in] NumOutputSignatureEntries

pOutputSignature 成员指定的数组中的条目数。

注解

签名基本上是共享签名的任何着色器输入和输出的所有寄存器的并集。 因此,签名可能是给定着色器实际可能输入或输出的内容的超集。

硬件应确定管道中的上游阶段可能在签名中提供部分或全部数据,这些数据布局为 pInputSignatureNumInputSignatureEntries 成员指定。 同样,硬件应确定管道中的下游阶段可能会使用 pOutputSignature 和 NumOutputSignatureEntries 成员指定的签名中的部分或所有数据。

为了符合在着色器编译期间对事件输入和输出寄存器重新排序的要求,将完整签名传递给驱动程序。 这种重新排序可能取决于驱动程序能否确定签名中的所有寄存器,以及哪些寄存器具有系统名称 (例如,D3D10DDIARG_SIGNATURE_ENTRY 结构的 SystemValue 成员指定) 的名称。 这种重新排序可能还取决于驱动程序能否确定当前着色器中不存在的寄存器。

着色器代码本身中的声明还显示特定着色器实际使用的寄存器。 这些寄存器可能是签名的输入和输出部分的子集。 如果在编译时不需要某些硬件来重新排序输入和输出寄存器,该硬件的驱动程序可以完全忽略D3D10DDIARG_STAGE_IO_SIGNATURES结构提供的完整签名。 例如,参考光栅器不需要D3D10DDIARG_STAGE_IO_SIGNATURES结构提供的信息。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

D3D10DDIARG_SIGNATURE_ENTRY