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 |
Header | d3d10umddi.h (D3d10umddi.h を含む) |