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