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) |