Freigeben über


D3D11DDIARG_TESSELLATION_IO_SIGNATURES Struktur (d3d10umddi.h)

Die D3D11DDIARG_TESSELLATION_IO_SIGNATURES Struktur beschreibt eine TessellationS-E/A-Signatur.

Syntax

typedef struct D3D11DDIARG_TESSELLATION_IO_SIGNATURES {
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pInputSignature;
  [in] UINT                        NumInputSignatureEntries;
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pOutputSignature;
  [in] UINT                        NumOutputSignatureEntries;
  [in] D3D10DDIARG_SIGNATURE_ENTRY *pPatchConstantSignature;
  [in] UINT                        NumPatchConstantSignatureEntries;
} D3D11DDIARG_TESSELLATION_IO_SIGNATURES;

Angehörige

[in] pInputSignature

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

[in] NumInputSignatureEntries

Die Anzahl der Einträge im Array, das vom pInputSignature Member angegeben wird.

[in] pOutputSignature

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

[in] NumOutputSignatureEntries

Die Anzahl der Einträge in dem Array, das vom pOutputSignature Element angegeben wird.

[in] pPatchConstantSignature

Ein Array von D3D10DDIARG_SIGNATURE_ENTRY Strukturen für die Signaturpatches.

[in] NumPatchConstantSignatureEntries

Die Anzahl der Einträge im Array, die vom pPatchConstantSignature Member angegeben werden.

Bemerkungen

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 gegebener Shader tatsächlich ein- oder ausgibt.

Hardware sollte bestimmen, dass die Upstreamstufe in der Pipeline möglicherweise einige oder alle Daten in der Signatur bereitstellen kann, die als pInputSignature und NumInputSignatureEntries Member angegeben sind. Ebenso sollte die Hardware bestimmen, dass die downstream-Phase in der Pipeline einige oder alle Daten in der Signatur verbrauchen kann, die als pOutputSignature und NumInputSignatureEntries Member angegeben sind.

Um die Anforderung für die Ereigniseingabe und ausgaberegister zu erfüllen, die während der Shaderkompilierung neu angeordnet werden sollen, wird die vollständige Signatur an den Treiber übergeben. Eine solche Neuanordnung hängt möglicherweise davon ab, dass der Treiber alle Register in der Signatur ermitteln kann und welche Register Systemnamen aufweisen (z. B. Namen, die das SystemValue- Mitglied der D3D10DDIARG_SIGNATURE_ENTRY Struktur angibt). Eine solche Neuanordnung hängt möglicherweise auch davon ab, dass 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 die D3D11DDIARG_TESSELLATION_IO_SIGNATURES Struktur bereitstellt, vollständig ignorieren. Der Referenzrasterizer erfordert z. B. keine Informationen, die die D3D11DDIARG_TESSELLATION_IO_SIGNATURES Struktur bereitstellt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- D3D11DDIARG_TESSELLATION_IO_SIGNATURES wird ab dem Windows 7-Betriebssystem unterstützt.
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

D3D10DDIARG_SIGNATURE_ENTRY