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 成員指定之陣列中的項目數。

備註

簽章基本上是所有緩存器的聯集,這些緩存器都是由任何共用簽章的著色器所輸入和輸出。 因此,簽章可能是指定著色器實際輸入或輸出的超集。

硬體應該判斷管線中的上游階段可能會提供簽章中部分或所有數據,該簽章會配置為 pInputSignatureNumInputSignatureEntries 成員指定。 同樣地,硬體應該判斷管線中的下游階段可能會取用簽章中配置為 pOutputSignatureNumOutputSignatureEntries 成員所指定的部分或所有數據。

為了符合在著色器編譯期間重新排序事件輸入和輸出緩存器的需求,系統會將完整簽章傳遞至驅動程式。 這類重新排序可能會取決於驅動程式能夠判斷簽章中的所有緩存器,以及哪些緩存器具有系統名稱 (例如,D3D10DDIARG_SIGNATURE_ENTRY 結構的 SystemValue 成員指定) 的名稱。 這類重新排序也可能取決於驅動程式能夠判斷目前著色器中不存在的緩存器。

著色器程序代碼本身內的宣告也會顯示特定著色器實際使用的緩存器。 這些快取器可能是簽章輸入和輸出部分的子集。 如果某些硬體不需要在編譯時期重新排列輸入和輸出緩存器,該硬體的驅動程式可以完全忽略D3D10DDIARG_STAGE_IO_SIGNATURES結構提供的完整簽章。 例如,參考轉譯器不需要D3D10DDIARG_STAGE_IO_SIGNATURES結構提供的資訊。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
標頭 d3d10umddi.h (包含 D3d10umddi.h)

另請參閱

D3D10DDIARG_SIGNATURE_ENTRY