D3D10DDIARG_STAGE_IO_SIGNATURES 结构 (d3d10umddi)

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 成员指定。 同样,硬件应确定管道中的下游阶段可能会使用 pOutputSignatureNumOutputSignatureEntries 成员指定的签名中的部分或全部数据。

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

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

要求

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

请参阅

D3D10DDIARG_SIGNATURE_ENTRY