Partager via


structure D3D12DDI_INDIRECT_ARGUMENT_DESC (d3d12umddi.h)

La structure D3D12DDI_INDIRECT_ARGUMENT_DESC décrit un argument indirect (un paramètre indirect) à utiliser avec une signature de commande.

Syntaxe

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;

Membres

Type

Valeur d’énumération D3D12DDI_INDIRECT_ARGUMENT_TYPE qui spécifie le type d’argument indirect. Cette valeur détermine quel membre de l’union est utilisé.

VertexBuffer

VertexBuffer.Slot

Spécifie l’emplacement contenant l’adresse de mémoire tampon de vertex.

Constant

Constant.RootParameterIndex

Spécifie l’index racine de la constante.

Constant.DestOffsetIn32BitValues

Décalage, en valeurs 32 bits, pour définir la première constante du groupe. Prend en charge les constantes à valeurs multiples à un index racine donné. Les entrées de constante racine doivent être triées de la plus petite à la plus grande DestOffsetIn32BitValues.

Constant.Num32BitValuesToSet

Nombre de constantes 32 bits définies à l’index racine donné. Prend en charge les constantes à valeurs multiples à un index racine donné.

ConstantBufferView

ConstantBufferView.RootParameterIndex

Spécifie l’index racine du CBV.

ShaderResourceView

ShaderResourceView.RootParameterIndex

Spécifie l’index racine du SRV.

UnorderedAccessView

UnorderedAccessView.RootParameterIndex

Spécifie l’index racine de l’UAV.

IncrementingConstant

IncrementingConstant.RootParameterIndex

Index dans la signature racine qui identifie la constante racine à mettre à jour.

champ IncrementingConstant.DestOffsetIn32BitValues

Ce champ spécifie le décalage, en termes de valeurs 32 bits (et non d’octets), dans la mémoire de la constante racine où la valeur incrémentée sera écrite. Il définit la position à l’intérieur de la constante racine à laquelle la constante incrémentielle démarre. Si la constante racine est un tableau de plusieurs valeurs 32 bits, ce décalage indique quel élément du tableau recevra la première valeur incrémentée.

IncrementingConstant.DestOffsetIn32BitValues

Remarques

Les arguments indirects sont utilisés conjointement avec les signatures de commande pour spécifier le type et la structure des données que le GPU lit à partir d’une mémoire tampon pour exécuter une commande, sans que l’UC ait besoin d’être impliquée dans chaque appel de tirage ou de distribution individuel.

Utilisez cette structure avec la structure D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001 .

Pour plus d’informations, consultez Spécification du nuanceur de maillage .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 version 1903
En-tête d3d12umddi.h (inclure D3d12umddi.h)

Voir aussi

D3D12DDI_INDIRECT_ARGUMENT_TYPE

D3D12DDIARG_CREATE_COMMAND_SIGNATURE_0001