Freigeben über


D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES Struktur (d3d10umddi.h)

Beschreibt eine Tessellations-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;

Angehörige

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, das vom pInputSignature Member angegeben wird.

pOutputSignatureDeprecated

[in] pOutputSignature

Ein Array von D3D11_1DDIARG_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.

pPatchConstantSignatureDeprecated

[in] pPatchConstantSignature

Ein Array von D3D11_1DDIARG_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 NumOutputSignatureEntries 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 haben (z. B. Namen, die das SystemValue Member 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 zum Kompilieren von Eingabe- und Ausgaberegistern keine Hardware 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 Referenzrasterizer benötigt beispielsweise keine Informationen, die die D3D11_1DDIARG_TESSELLATION_IO_SIGNATURES Struktur bereitstellt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8
mindestens unterstützte Server- Windows Server 2012
Header- d3d10umddi.h (include D3d10umddi.h)

Siehe auch

D3D11_1DDIARG_SIGNATURE_ENTRY