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 メンバーが指定した としてレイアウトされた署名内のデータの一部または全部を使用する可能性があることを判断する必要があります。
シェーダーのコンパイル中にイベントの入力レジスタと出力レジスタを並べ替える要件に準拠するために、完全な署名がドライバーに渡されます。 このような並べ替えは、ドライバーが署名内のすべてのレジスタを特定できることと、システム名を持つレジスタ (たとえば、D3D11_1DDIARG_SIGNATURE_ENTRY 構造体の SystemValue メンバーが指定する名前) によって異なる場合があります。 このような並べ替えは、現在のシェーダーに存在しないレジスタをドライバーが判断できることにも依存する場合があります。
シェーダー コード自体内の宣言では、どのレジスタが特定のシェーダーによって実際に使用されているかも示されます。 これらのレジスタは、署名の入力部分と出力部分のサブセットである可能性があります。 一部のハードウェアがコンパイル時に入力レジスタと出力レジスタを並べ替える必要がない場合、そのハードウェアのドライバーは、D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES 構造体が提供する完全な署名を完全に無視できます。 たとえば、参照ラスタライザーでは、D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES 構造体が提供する情報は必要ありません。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 |
サポートされる最小サーバー | Windows Server 2012 |
ヘッダー | d3d10umddi.h (D3d10umddi.h を含む) |