estructura D3D12DDI_NODE_OUTPUT_0108 (d3d12umddi.h)

La estructura D3D12DDI_NODE_OUTPUT_0108 describe la salida de un nodo en un gráfico de trabajo.

Sintaxis

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;

Miembros

FinalName

Estructura de D3D12DDI_NODE_ID_0108 que especifica el nombre final del nodo después de realizar cualquier cambio de nombre opcional en el nivel de aplicación. Si ArraySize es mayor que 1, este es el NodeID del principio de la matriz de nodos a la que se va a generar.

OutputIndex

Índice de base cero de esta salida en el conjunto de salidas de este nodo (la salida de la matriz de nodos cuenta como una entrada de este conjunto). Este índice coincide con el orden en que se declaran las salidas y cómo aparecen en las matrices pOutputs de D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 y D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. Por lo tanto, este valor es redundante, pero se proporciona para mayor claridad. Otros miembros de esta estructura hacen referencia a nodos mediante este espacio de indexación.

NodeIOKind

Enumeración D3D12DDI_NODE_IO_KIND_0108 que especifica la clase de entrada. Consulte Declaración de salida de nodo.

NodeIOFlags

Marcas que proporcionan información adicional sobre la salida del nodo. Consulte las marcas de D3D12DDI_NODE_IO_FLAGS_FLAG_MASK en D3D12DDI_NODE_IO_FLAGS_0108. Consulte también Declaración de entrada de nodo.

RecordSizeInBytes

Tamaño del registro de salida, en bytes. Puede ser 0 si NodeIOKind está D3D12DDI_NODE_IO_KIND_EMPTY_OUTPUT_0108.

bAllowSparseNodes

Valor booleano que especifica si se permiten nodos dispersos. Este miembro se asigna al atributo AllowSparseNodes en una salida de nodo o se puede invalidar en el nivel de aplicación, por lo que el estado final se indica aquí.

pRecordDispatchGrid

Si nullptres , el registro de salida no contiene SV_DispatchGrid. De lo contrario, apunta a una descripción de cómo aparece SV_DispatchGrid en el registro de salida. Consulte D3D12DDI_RECORD_DISPATCH_GRID_0108.

pMaxRecords

Número máximo de registros de salida que un grupo de subprocesos generará en este nodo o matriz de salida. Si el presupuesto del registro de salida de esta salida se comparte con otra salida, pMaxRecords es nullptr y pMaxRecordsSharedWithOutputIndex se especifica en su lugar. Si el sombreador declaró [MaxRecordsSharedWith()], es válido invalidarlo con pMaxRecords, lo que hace que el presupuesto de salida ya no se comparta.

pMaxRecordsSharedWithOutputIndex

Si esta salida comparte su presupuesto de registros de salida con otra salida, pMaxRecordsSharedWithOutputIndex apunta al índice basado en 0 de esa salida en función del orden en que se declaran y cómo aparecen en las matrices pOutputs de D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 y D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. La salida a la que se apunta tiene especificados pMaxRecords . Si la salida actual no comparte su presupuesto de registros de salida, pMaxRecordsSharedWithIndex es nullptr. Si el sombreador declarado [MaxRecords()], es válido invalidarlo con pMaxRecordsSharedWithIndex, lo que hace que el presupuesto de salida ahora se comparta con otra salida.

ArraySize

Número de nodos de la matriz de nodos a los que se va a generar. Si es 1, la salida es un único nodo. Si es mayor que 1, la salida es una matriz de nodos. Los nodos son contiguos en la matriz y el primer nodo es el especificado por FinalName. Un valor de significa tamaño de 0xffffffff matriz de nodo sin enlazar, que solo se permite cuando bAllowSparseNodes es true.

pOutputs

Enumera (D3D12DDI_NODE_LIST_ENTRY) de nodos (D3D12DDI_NODE_0108) en los que este nodo genera. Si pOutputs es nullptr este nodo no genera resultados en otros nodos. Si bAllowSparseNodes es true, esta lista no es necesariamente siempre que ArraySize. Independientemente del estado bAllowSparseNodes , los controladores no deben suponer que las entradas de lista están en orden de índice de matriz. El índice de matriz de una salida determinada se puede encontrar en su identificador de nodo. Cuando AddToStateObject() agrega salidas, las adiciones aparecerán al principio de la lista, que es otra razón para no suponer que son el orden del índice de matriz.

Comentarios

Para obtener más información, consulte Gráficos de trabajo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11, versión 24H2 (WDDM 3.2)
Encabezado d3d12umddi.h

Consulte también

D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108