D3D10DDIARG_STAGE_IO_SIGNATURES-Struktur (d3d10umddi.h)

Die D3D10DDIARG_STAGE_IO_SIGNATURES-Struktur beschreibt eine E/A-Signatur.

Syntax

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;

Member

[in] pInputSignature

Ein Array von D3D10DDIARG_SIGNATURE_ENTRY Strukturen für den Eingabeteil einer Signatur.

[in] NumInputSignatureEntries

Die Anzahl der Einträge im Array, die vom pInputSignature-Element angegeben wird.

[in] pOutputSignature

Ein Array von D3D10DDIARG_SIGNATURE_ENTRY Strukturen für den Ausgabeteil einer Signatur.

[in] NumOutputSignatureEntries

Die Anzahl der Einträge im Array, die vom pOutputSignature-Member angegeben wird.

Hinweise

Eine Signatur ist im Grunde die Vereinigung aller Register, die von jedem Shader eingegeben und ausgegeben werden, der die Signatur gemeinsam verwendet. Daher kann eine Signatur eine Obermenge dessen sein, was ein bestimmter Shader tatsächlich ein- oder ausgibt.

Die Hardware sollte bestimmen, dass die Upstream Phase in der Pipeline einige oder alle Daten in der Signatur bereitstellen kann, die gemäß den Membern pInputSignature und NumInputSignatureEntries angegeben sind. Auf ähnliche Weise sollte die Hardware bestimmen, dass die Downstreamphase in der Pipeline möglicherweise einige oder alle Daten in der Signatur verbraucht, die in den Membern pOutputSignature und NumOutputSignatureEntries angegeben ist.

Um die Anforderung zu erfüllen, dass die Ereigniseingabe- und Ausgaberegister während der Shaderkompilierung neu angeordnet werden, wird die vollständige Signatur an den Treiber übergeben. Eine solche Neuanordnung kann davon abhängen, ob der Treiber alle Register in der Signatur bestimmen kann, sowie davon, welche Register Systemnamen aufweisen (z. B. Namen, die vom SystemValue-Member der D3D10DDIARG_SIGNATURE_ENTRY-Struktur angegeben werden). Eine solche Neuanordnung kann auch davon abhängen, ob der Treiber Register ermitteln kann, die im aktuellen Shader nicht vorhanden sind.

Die Deklarationen im Shadercode selbst zeigen auch an, welche Register tatsächlich von einem bestimmten Shader verwendet werden. Diese Register sind möglicherweise eine Teilmenge der Eingabe- und Ausgabeteile der Signatur. Wenn zur Kompilierzeit keine Hardware zum Neuanordnen von Eingabe- und Ausgaberegistern erforderlich ist, kann der Treiber für diese Hardware die vollständige Signatur, die von der D3D10DDIARG_STAGE_IO_SIGNATURES-Struktur bereitgestellt wird, vollständig ignorieren. Der Verweisraster erfordert beispielsweise nicht die Informationen, die die D3D10DDIARG_STAGE_IO_SIGNATURES-Struktur bereitstellt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

D3D10DDIARG_SIGNATURE_ENTRY