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)

Weitere Informationen

D3D12DDI_INDIRECT_ARGUMENT_TYPE

D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001