Condividi tramite


D3D12DDI_NODE_OUTPUT_0108 struttura (d3d12umddi.h)

La struttura D3D12DDI_NODE_OUTPUT_0108 descrive l'output di un nodo in un grafico di lavoro.

Sintassi

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;

Members

FinalName

Struttura D3D12DDI_NODE_ID_0108 che specifica il nome finale del nodo dopo qualsiasi ridenominazione facoltativa eseguita a livello di applicazione. Se ArraySize è maggiore di 1, si tratta del NodeID dell'inizio della matrice di nodi a cui viene eseguito l'output.

OutputIndex

Indice in base zero di questo output nel set di output per questo nodo (l'output della matrice di nodi viene conteggiato come una voce in questo set). Questo indice corrisponde all'ordine in cui vengono dichiarati gli output e come vengono visualizzati nelle matrici pOutputs in D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 e D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. Di conseguenza, questo valore è ridondante, ma fornito per chiarezza. Altri membri di questo nodo di riferimento struttura usando questo spazio di indicizzazione.

NodeIOKind

Enumerazione D3D12DDI_NODE_IO_KIND_0108 che specifica la classe di input. Vedere Dichiarazione di output del nodo.

NodeIOFlags

Flag che forniscono informazioni aggiuntive sull'output del nodo. Vedere i flag all'interno di D3D12DDI_NODE_IO_FLAGS_FLAG_MASK in D3D12DDI_NODE_IO_FLAGS_0108. Vedere anche Dichiarazione di input nodo.

RecordSizeInBytes

Dimensioni del record di output, in byte. Può essere 0 se NodeIOKind è D3D12DDI_NODE_IO_KIND_EMPTY_OUTPUT_0108.

bAllowSparseNodes

Boolean che specifica se sono consentiti nodi sparse. Questo membro esegue il mapping all'attributo AllowSparseNodes in un output del nodo oppure può essere sottoposto a override a livello di applicazione, quindi lo stato finale viene indicato qui.

pRecordDispatchGrid

Se nullptr, il record di output non contiene SV_DispatchGrid. In caso contrario, punta a una descrizione del modo in cui SV_DispatchGrid viene visualizzato nel record di output. Vedere D3D12DDI_RECORD_DISPATCH_GRID_0108.

pMaxRecords

Numero massimo di record di output che un gruppo di thread restituirà a questo nodo di output/matrice. Se il budget del record di output per questo output viene condiviso con un altro output, pMaxRecords è nullptr e pMaxRecordsSharedWithOutputIndex viene specificato. Se lo shader ha dichiarato [MaxRecordsSharedWith()], è valido eseguirne l'override con pMaxRecords, che rende il budget di output non più condiviso.

pMaxRecordsSharedWithOutputIndex

Se questo output condivide il budget del record di output con un altro output, pMaxRecordsSharedWithOutputIndex punta all'indice basato su 0 di tale output in base all'ordine dichiarato e come vengono visualizzati nelle matrici pOutputs in D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 e D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. L'output a cui si punta ha specificato pMaxRecords . Se l'output corrente non condivide il budget del record di output, pMaxRecordsSharedWithIndex è nullptr. Se lo shader dichiarato [MaxRecords()], è valido eseguirne l'override con pMaxRecordsSharedWithIndex, che rende il budget di output ora condiviso con un altro output.

ArraySize

Numero di nodi nella matrice di nodi a cui viene eseguito l'output. Se si tratta di 1, l'output è un singolo nodo. Se è maggiore di 1, l'output è una matrice di nodi. I nodi sono contigui nella matrice e il primo nodo è quello specificato da FinalName. Valore di indica dimensioni della matrice di 0xffffffff nodi non in uscita, che è consentito solo quando bAllowSparseNodes è true.

pOutputs

Elenco (D3D12DDI_NODE_LIST_ENTRY) di nodi (D3D12DDI_NODE_0108) a cui viene restituito questo nodo. Se pOutputs è nullptr questo nodo non restituisce altri nodi. Se bAllowSparseNodes è true, questo elenco non è necessariamente a condizione che ArraySize. Indipendentemente dallo stato bAllowSparseNodes , i driver non devono presupporre che le voci dell'elenco siano in ordine di indice della matrice. L'indice della matrice di un determinato output può essere trovato nell'ID nodo. Quando AddToStateObject() aggiunge output, le aggiunte verranno visualizzate all'inizio dell'elenco, che è un altro motivo per cui non presupporre che siano ordine di indice della matrice.

Commenti

Per altre informazioni, vedere Grafici di lavoro.

Requisiti

Requisito Valore
Client minimo supportato Windows 11 versione 24H2 (WDDM 3.2)
Intestazione d3d12umddi.h

Vedi anche

D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108