D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES结构 (d3d10umddi.h)
描述分割 I/O 签名。
语法
typedef struct D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES {
union {
D3D11_1DDIARG_SIGNATURE_ENTRY *pInputSignatureDeprecated;
[in] D3D11_1DDIARG_SIGNATURE_ENTRY2 *pInputSignature;
};
[in] UINT NumInputSignatureEntries;
union {
D3D11_1DDIARG_SIGNATURE_ENTRY *pOutputSignatureDeprecated;
[in] D3D11_1DDIARG_SIGNATURE_ENTRY2 *pOutputSignature;
};
[in] UINT NumOutputSignatureEntries;
union {
D3D11_1DDIARG_SIGNATURE_ENTRY *pPatchConstantSignatureDeprecated;
[in] D3D11_1DDIARG_SIGNATURE_ENTRY2 *pPatchConstantSignature;
};
[in] UINT NumPatchConstantSignatureEntries;
} D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES;
成员
pInputSignatureDeprecated
[in] pInputSignature
签名的输入部分的 D3D11_1DDIARG_SIGNATURE_ENTRY 结构的数组。
[in] NumInputSignatureEntries
pInputSignature 成员指定的数组中的条目数。
pOutputSignatureDeprecated
[in] pOutputSignature
签名的输出部分的 D3D11_1DDIARG_SIGNATURE_ENTRY 结构的数组。
[in] NumOutputSignatureEntries
pOutputSignature 成员指定的数组中的条目数。
pPatchConstantSignatureDeprecated
[in] pPatchConstantSignature
签名修补程序的 D3D11_1DDIARG_SIGNATURE_ENTRY 结构的数组。
[in] NumPatchConstantSignatureEntries
pPatchConstantSignature 成员指定的数组中的条目数。
言论
签名基本上是共享签名的任何着色器输入和输出的所有寄存器的联合。 因此,签名可能是给定着色器实际输入或输出的超集。
硬件应确定管道中的上游阶段可能会提供作为 pInputSignature 布局的签名中的部分或所有数据,NumInputSignatureEntries 成员指定。 同样,硬件应确定管道中的下游阶段可能会使用签名中的部分或所有数据,这些数据作为 pOutputSignature 和 NumOutputSignatureEntries 成员指定。
为了符合在着色器编译期间重新排序的事件输入和输出寄存器的要求,请将完整签名传递给驱动程序。 此类重新排序可能取决于驱动程序能够确定签名中的所有寄存器,以及哪些寄存器具有系统名称(例如,SystemValueD3D11_1DDIARG_SIGNATURE_ENTRY 结构的成员所指定的名称)。 此类重新排序还可能取决于驱动程序能够确定当前着色器中不存在的寄存器。
着色器代码本身中的声明还显示特定着色器实际使用哪些寄存器。 这些寄存器可能是签名的输入和输出部分的子集。 如果某些硬件在编译时不需要重新排序输入和输出寄存器,该硬件的驱动程序可以完全忽略 D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES 结构提供的完整签名。 例如,引用光栅器不需要 D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES 结构提供的信息。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 |
支持的最低服务器 | Windows Server 2012 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |