Compartilhar via


estrutura D3D12DDI_NODE_OUTPUT_0108 (d3d12umddi.h)

A estrutura D3D12DDI_NODE_OUTPUT_0108 descreve a saída de um nó em um grafo de trabalho.

Sintaxe

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;

Membros

FinalName

Uma estrutura D3D12DDI_NODE_ID_0108 que especifica o nome final do nó após qualquer renomeação opcional feita no nível do aplicativo. Se ArraySize for maior que 1, esse será o NodeID do início da matriz de nós que está sendo gerada.

OutputIndex

Índice baseado em zero dessa saída no conjunto de saídas para esse nó (a saída da matriz de nós conta como uma entrada neste conjunto). Esse índice corresponde à ordem em que as saídas são declaradas e como elas aparecem nas matrizes pOutputs em D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 e D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. Dessa forma, esse valor é redundante, mas fornecido para maior clareza. Outros membros dessa estrutura referenciam nós usando esse espaço de indexação.

NodeIOKind

Uma enumeração D3D12DDI_NODE_IO_KIND_0108 que especifica a classe de entrada. Confira Declaração de saída do nó.

NodeIOFlags

Sinalizadores que fornecem informações adicionais sobre a saída do nó. Consulte os sinalizadores no D3D12DDI_NODE_IO_FLAGS_FLAG_MASK em D3D12DDI_NODE_IO_FLAGS_0108. Consulte também Declaração de entrada de nó.

RecordSizeInBytes

Tamanho do registro de saída, em bytes. Pode ser 0 se NodeIOKind for D3D12DDI_NODE_IO_KIND_EMPTY_OUTPUT_0108.

bAllowSparseNodes

Booliano que especifica se nós esparsos são permitidos. Esse membro mapeia para o atributo AllowSparseNodes em uma saída de nó ou pode ser substituído no nível do aplicativo, portanto, o status final é indicado aqui.

pRecordDispatchGrid

Se nullptr, o registro de saída não conterá SV_DispatchGrid. Caso contrário, aponta para uma descrição de como SV_DispatchGrid aparece no registro de saída. Confira D3D12DDI_RECORD_DISPATCH_GRID_0108.

pMaxRecords

Número máximo de registros de saída que um grupo de threads produzirá para esse nó/matriz de saída. Se o orçamento do registro de saída para essa saída for compartilhado com outra saída, pMaxRecords será nullptr e pMaxRecordsSharedWithOutputIndex será especificado. Se o sombreador tiver declarado [MaxRecordsSharedWith()], será válido substituí-lo por pMaxRecords, o que torna o orçamento de saída não mais compartilhado.

pMaxRecordsSharedWithOutputIndex

Se essa saída compartilhar seu orçamento de registro de saída com outra saída, pMaxRecordsSharedWithOutputIndex apontará para o índice baseado em 0 dessa saída com base na ordem em que elas são declaradas e como elas aparecem nas matrizes pOutputs em D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108, D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108 e D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108. A saída apontada tem pMaxRecords especificado. Se a saída atual não compartilhar seu orçamento de registro de saída, pMaxRecordsSharedWithIndex será nullptr. Se o sombreador tiver declarado [MaxRecords()], será válido substituí-lo por pMaxRecordsSharedWithIndex, o que torna o orçamento de saída agora compartilhado com outra saída.

ArraySize

O número de nós na matriz de nós para o qual a saída está sendo gerada. Se for 1, a saída será um único nó. Se for maior que 1, a saída será uma matriz de nós. Os nós são contíguos na matriz e o primeiro nó é aquele especificado por FinalName. Um valor de 0xffffffff significa tamanho de matriz de nó não associado, que só é permitido quando bAllowSparseNodes é true.

pOutputs

Lista (D3D12DDI_NODE_LIST_ENTRY) de nós (D3D12DDI_NODE_0108) para os quais esse nó é gerado. Se pOutputs for nullptr esse nó, não será gerado para outros nós. Se bAllowSparseNodes for true, essa lista não será necessariamente tão longa quanto ArraySize. Independentemente do estado bAllowSparseNodes , os drivers não devem assumir que as entradas de lista estão na ordem de índice da matriz. O índice de matriz de uma determinada saída pode ser encontrado em sua ID de nó. Quando AddToStateObject() adiciona saídas, as adições aparecerão no início da lista, o que é outro motivo para não presumir que são ordem de índice de matriz.

Comentários

Para obter mais informações, consulte Grafos de trabalho.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 11, versão 24H2 (WDDM 3.2)
Cabeçalho d3d12umddi.h

Confira também

D3D12DDI_BROADCASTING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_COALESCING_LAUNCH_NODE_PROPERTIES_0108

D3D12DDI_THREAD_LAUNCH_NODE_PROPERTIES_0108