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 メンバーが指定する配列内のエントリの数。

注釈

シグネチャは基本的に、シグネチャを共有するシェーダーによって入出力されるすべてのレジスタの和集合です。 したがって、シグネチャは、特定のシェーダーが実際に入力または出力する可能性がある内容のスーパーセットである可能性があります。

ハードウェアは、パイプラインのアップストリーム ステージが、 pInputSignature メンバーと NumInputSignatureEntries メンバーが指定したとおりにレイアウトされたシグネチャ内のデータの一部またはすべてを提供する可能性があることを判断 する 必要があります。 同様に、ハードウェアは、パイプラインのダウンストリーム ステージで、 pOutputSignature メンバーと NumOutputSignatureEntries メンバーが指定したとおりにレイアウトされた署名内のデータの一部またはすべてを使用する可能性があることを判断 する 必要があります。

シェーダーのコンパイル中にイベントの入力レジスタと出力レジスタの順序を変更する要件に準拠するために、完全な署名がドライバーに渡されます。 このような並べ替えは、ドライバーが署名内のすべてのレジスタを決定できることと、システム名を持つレジスタ (たとえば、D3D10DDIARG_SIGNATURE_ENTRY構造体の SystemValue メンバーが指定する名前) に依存する場合があります。 このような並べ替えは、現在のシェーダーに存在しないレジスタを判断できるドライバーによっても異なる場合があります。

シェーダー コード内の宣言では、どのレジスタが特定のシェーダーによって実際に使用されているかも示されます。 これらのレジスタは、シグネチャの入出力部分のサブセットである可能性があります。 一部のハードウェアがコンパイル時に入力レジスタと出力レジスタの順序を変更する必要がない場合、そのハードウェアのドライバーは、D3D10DDIARG_STAGE_IO_SIGNATURES構造体が提供する完全な署名を完全に無視できます。 たとえば、参照ラスタライザーでは、D3D10DDIARG_STAGE_IO_SIGNATURES構造が提供する情報は必要ありません。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D10DDIARG_SIGNATURE_ENTRY