D3D12DDI_INDIRECT_ARGUMENT_DESC-Struktur (d3d12umddi.h)
Die D3D12DDI_INDIRECT_ARGUMENT_DESC-Struktur beschreibt ein indirektes Argument (einen indirekten Parameter) zur Verwendung mit einer Befehlssignatur.
Syntax
typedef struct D3D12DDI_INDIRECT_ARGUMENT_DESC {
D3D12DDI_INDIRECT_ARGUMENT_TYPE Type;
union {
struct {
UINT Slot;
} VertexBuffer;
struct {
UINT RootParameterIndex;
UINT DestOffsetIn32BitValues;
UINT Num32BitValuesToSet;
} Constant;
struct {
UINT RootParameterIndex;
} ConstantBufferView;
struct {
UINT RootParameterIndex;
} ShaderResourceView;
struct {
UINT RootParameterIndex;
} UnorderedAccessView;
struct {
UINT RootParameterIndex;
UINT DestOffsetIn32BitValues;
} IncrementingConstant;
};
} D3D12DDI_INDIRECT_ARGUMENT_DESC;
Member
Type
Ein D3D12DDI_INDIRECT_ARGUMENT_TYPE Enumerationswert, der den Typ des indirekten Arguments angibt. Dieser Wert bestimmt, welches Element der Union verwendet wird.
VertexBuffer
VertexBuffer.Slot
Gibt den Slot an, der die Vertexpufferadresse enthält.
Constant
Constant.RootParameterIndex
Gibt den Stammindex der Konstante an.
Constant.DestOffsetIn32BitValues
Der Offset in 32-Bit-Werten, um die erste Konstante der Gruppe festzulegen. Unterstützt mehrwertige Konstanten für einen bestimmten Stammindex. Stammkonstanteeinträge müssen von kleinsten bis größten DestOffsetIn32BitValues sortiert werden.
Constant.Num32BitValuesToSet
Die Anzahl der 32-Bit-Konstanten, die auf dem angegebenen Stammindex festgelegt werden. Unterstützt mehrwertige Konstanten für einen bestimmten Stammindex.
ConstantBufferView
ConstantBufferView.RootParameterIndex
Gibt den Stammindex des CBV an.
ShaderResourceView
ShaderResourceView.RootParameterIndex
Gibt den Stammindex der SRV an.
UnorderedAccessView
UnorderedAccessView.RootParameterIndex
Gibt den Stammindex des UAV an.
IncrementingConstant
IncrementingConstant.RootParameterIndex
Der Index in der Stammsignatur, der die zu aktualisierende Stammkonstante identifiziert.
Field IncrementingConstant.DestOffsetIn32BitValues
Dieses Feld gibt den Offset in Bezug auf 32-Bit-Werte (nicht Bytes) im Arbeitsspeicher der Stammkonstanten an, in dem der inkrementierte Wert geschrieben wird. Sie definiert die Position innerhalb der Stammkonstante, an der die inkrementierende Konstante beginnt. Wenn die Stammkonstante ein Array mit mehreren 32-Bit-Werten ist, gibt dieser Offset an, welches Element des Arrays den ersten inkrementierten Wert empfängt.
IncrementingConstant.DestOffsetIn32BitValues
Hinweise
Indirekte Argumente werden in Verbindung mit Befehlssignaturen verwendet, um den Typ und die Struktur der Daten anzugeben, die die GPU aus einem Puffer liest, um einen Befehl auszuführen, ohne dass die CPU an jedem einzelnen Zeichnungs- oder Dispatchaufruf beteiligt sein muss.
Verwenden Sie diese Struktur mit der D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001-Struktur .
Weitere Informationen finden Sie in der Mesh Shader-Spezifikation .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1903 |
Kopfzeile | d3d12umddi.h (einschließlich D3d12umddi.h) |