Freigeben über


D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES-Struktur (d3d10umddi.h)

Beschreibt eine Tessellation-E/A-Signatur.

Syntax

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;

Member

pInputSignatureDeprecated

[in] pInputSignature

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

[in] NumInputSignatureEntries

Die Anzahl der Einträge im Array, die das pInputSignature-Element angibt.

pOutputSignatureDeprecated

[in] pOutputSignature

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

[in] NumOutputSignatureEntries

Die Anzahl von Einträgen im Array, die das pOutputSignature-Element angibt.

pPatchConstantSignatureDeprecated

[in] pPatchConstantSignature

Ein Array von D3D11_1DDIARG_SIGNATURE_ENTRY Strukturen für die Signaturpatches.

[in] NumPatchConstantSignatureEntries

Die Anzahl von Einträgen im Array, die das pPatchConstantSignature-Element angibt.

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 Übermenge dessen sein, was ein bestimmter Shader tatsächlich eingibt oder ausgibt.

Die Hardware sollte festlegen, dass die Upstream Phase in der Pipeline einige oder alle Daten in der Signatur bereitstellen kann, die als pInputSignature- und NumInputSignatureEntries-Member 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 als pOutputSignature - und NumOutputSignatureEntries-Member angegeben ist.

Um die Anforderung zu erfüllen, dass die Ereigniseingabe- und Ausgaberegister während der Shaderkompilierung neu sortiert werden müssen, wird die vollständige Signatur an den Treiber übergeben. Eine solche Neuanordnung hängt möglicherweise davon ab, ob der Treiber alle Register in der Signatur ermitteln kann und welche Register Systemnamen aufweisen (z. B. Namen, die das SystemValue-Element der D3D11_1DDIARG_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 D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES-Struktur bereitstellt, vollständig ignorieren. Der Verweisrasterer erfordert beispielsweise nicht die Informationen, die die D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES-Struktur bereitstellt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Kopfzeile d3d10umddi.h (einschließlich D3d10umddi.h)

Weitere Informationen

D3D11_1DDIARG_SIGNATURE_ENTRY