Partager via


D3D12DDI_NODE_OUTPUT_0108 structure (d3d12umddi.h)

La structure D3D12DDI_NODE_OUTPUT_0108 décrit la sortie d’un nœud dans un graphique de travail.

Syntaxe

typedef struct D3D12DDI_NODE_OUTPUT_0108 {
  D3D12DDI_NODE_ID_0108                    FinalName;
  UINT                                     OutputIndex;
  D3D12DDI_NODE_IO_KIND_0108               NodeIOKind;
  UINT                                     NodeIOFlags;
  UINT                                     RecordSizeInBytes;
  BOOL                                     bAllowSparseNodes;
  const D3D12DDI_RECORD_DISPATCH_GRID_0108 *pRecordDispatchGrid;
  const UINT                               *pMaxRecords;
  const UINT                               *pMaxRecordsSharedWithOutputIndex;
  UINT                                     ArraySize;
  const D3D12DDI_NODE_LIST_ENTRY_0108      *pOutputs;
} D3D12DDI_NODE_OUTPUT_0108;

Membres

FinalName

Une structure D3D12DDI_NODE_ID_0108 qui spécifie le nom final du nœud après tous les renommages facultatifs effectués au niveau de l’application. Si ArraySize est supérieur à 1, il s’agit de l’ID de nœud du début du tableau de nœuds vers lequel la sortie est effectuée.

OutputIndex

Index de base zéro de cette sortie dans l’ensemble de sorties pour ce nœud (la sortie du tableau de nœuds compte comme une entrée dans cet ensemble). Cet index correspond à l’ordre dans lequel les sorties sont déclarées et comment elles apparaissent dans les tableaux pOutputs dans D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 et D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. En tant que telle, cette valeur est redondante, mais fournie pour des motifs de clarté. D’autres membres de cette structure référencent des nœuds à l’aide de cet espace d’indexation.

NodeIOKind

Énumération D3D12DDI_NODE_IO_KIND_0108 qui spécifie la classe d’entrée. Consultez Déclaration de sortie de nœud.

NodeIOFlags

Indicateurs qui fournissent des informations supplémentaires sur la sortie du nœud. Consultez les indicateurs dans D3D12DDI_NODE_IO_FLAGS_FLAG_MASK dans D3D12DDI_NODE_IO_FLAGS_0108. Voir aussi Déclaration d’entrée de nœud.

RecordSizeInBytes

Taille de l’enregistrement de sortie, en octets. Peut être 0 si NodeIOKind est D3D12DDI_NODE_IO_KIND_EMPTY_OUTPUT_0108.

bAllowSparseNodes

Boolean qui spécifie si les nœuds épars sont autorisés. Ce membre est mappé à l’attribut AllowSparseNodes sur une sortie de nœud, ou peut être remplacé au niveau de l’application, de sorte que la status finale est indiquée ici.

pRecordDispatchGrid

Si nullptrla valeur est , l’enregistrement de sortie ne contient pas SV_DispatchGrid. Sinon, pointe vers une description de la façon dont SV_DispatchGrid apparaît dans l’enregistrement de sortie. Voir D3D12DDI_RECORD_DISPATCH_GRID_0108.

pMaxRecords

Nombre maximal d’enregistrements de sortie qu’un groupe de threads génère vers ce nœud/tableau de sortie. Si le budget d’enregistrement de sortie pour cette sortie est partagé avec une autre sortie, pMaxRecords est nullptr et pMaxRecordsSharedWithOutputIndex est spécifié à la place. Si le nuanceur a déclaré [MaxRecordsSharedWith()], il est valide de le remplacer par pMaxRecords, ce qui rend le budget de sortie non partagé.

pMaxRecordsSharedWithOutputIndex

Si cette sortie partage son budget d’enregistrement de sortie avec une autre sortie, pMaxRecordsSharedWithOutputIndex pointe vers l’index de base 0 de cette sortie en fonction de l’ordre dans lequel elles sont déclarées et de la façon dont elles apparaissent dans les tableaux pOutputs dans D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 et D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. La sortie vers laquelle est pointé pMaxRecords est spécifié. Si la sortie actuelle ne partage pas son budget d’enregistrement de sortie, pMaxRecordsSharedWithIndex est nullptr. Si le nuanceur a déclaré [MaxRecords()], il est valide de le remplacer par pMaxRecordsSharedWithIndex, ce qui rend le budget de sortie désormais partagé avec une autre sortie.

ArraySize

Nombre de nœuds dans le tableau de nœuds vers lequel la sortie est effectuée. S’il s’agit de 1, la sortie est un nœud unique. Si cette valeur est supérieure à 1, la sortie est un tableau de nœuds. Les nœuds sont contigus dans le tableau, et le premier nœud est celui spécifié par FinalName. La valeur signifie la taille de 0xffffffff tableau de nœuds non délimitée, qui n’est autorisée que lorsque bAllowSparseNodes a la valeur true.

pOutputs

Liste (D3D12DDI_NODE_LIST_ENTRY) des nœuds (D3D12DDI_NODE_0108) vers lesquels ce nœud est généré. Si pOutputs est nullptr ce nœud ne génère pas de sortie vers d’autres nœuds. Si bAllowSparseNodes a la valeur true, cette liste n’est pas nécessairement aussi longue que ArraySize. Quel que soit l’état bAllowSparseNodes , les pilotes ne doivent pas supposer que les entrées de liste sont dans l’ordre d’index du tableau. L’index de tableau d’une sortie donnée se trouve dans son ID de nœud. Lorsque AddToStateObject() ajoute des sorties, les ajouts s’affichent au début de la liste, ce qui constitue une autre raison de ne pas supposer qu’il s’agit d’un ordre d’index de tableau.

Remarques

Pour plus d’informations, consultez Graphiques de travail.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 24H2 (WDDM 3.2)
En-tête d3d12umddi.h

Voir aussi

D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108