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