Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os Grafos de Trabalho são um sistema de autonomia de GPU no Direct3D 12 que permite a criação de trabalho baseada em GPU. Os threads de sombreador em execução na GPU podem solicitar que outros trabalhos sejam executados sem esperar que esse trabalho seja iniciado, com o sistema gerenciando o agendamento e a memória dos dados que fluem entre as tarefas.
Este artigo descreve os DDIs que são adicionados para um UMD (driver de elementos gráficos) no modo de usuário para dar suporte a gráficos de trabalho D3D12. O recurso de grafo de trabalho está disponível a partir do Windows 11, versão 24H2 (WDDM 3.2). Uma explicação detalhada dos grafos de trabalho pode ser encontrada na especificação de Gráficos de Trabalho D3D12 .
Programas Genéricos são um recurso relacionado que fornece uma maneira de definir gráficos e pipelines de computação gráfica dentro de objetos de estado, usando a mesma infraestrutura utilizada para grafos de trabalho e raytracing.
Suporte a gráficos de trabalho em relatórios
A UMD relata seu suporte para grafos de trabalho por meio das seguintes interfaces:
A entrada D3D12DDICAPS_TYPE_OPTIONS_0109 de relatório de recursos é adicionada àenumeração D3D12DDICAPS_TYPE usada pelo PFND3D12DDI_GETCAPS.
Essa entrada de caps corresponde à estrutura de caps D3D12DDI_OPTIONS_DATA_0103, cujo membro WorkGraphsTier indica o nível de suporte a grafos de tarefas que o driver oferece.
Tabelas de funções DDI
Para dar suporte a grafos de trabalho, a UMD deve implementar as seguintes funções e fornecer ponteiros para elas nas seguintes tabelas de funções DDI:
Páginas de referência para as dezenas de estruturas de gráficos de trabalho e enumerações associadas aos DDIs adicionados podem ser descobertas seguindo os links das páginas de referência dos DDIs.
Estruturas e enumerações relacionadas à criação de objeto de estado do DDI
Os seguintes tipos de subobjeto D3D12DDI_STATE_SUBOBJECT_TYPE (e suas estruturas relacionadas de criação de objeto de estado) são relevantes para os grafos de trabalho.
| Definição | Valor de enumeração | Estrutura relacionada |
|---|---|---|
| D3D12DDI_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG | 0 | D3D12DDI_STATE_OBJECT_CONFIG_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE | 1 | D3D12DDI_GLOBAL_ROOT_SIGNATURE_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE | 2 | D3D12DDI_LOCAL_ROOT_SIGNATURE_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_NODE_MASK | 3 | D3D12_NODE_MASK_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY | 5 | D3D12DDI_DXIL_LIBRARY_DESC_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION | 6 | D3D12DDI_EXISTING_COLLECTION_DESC_0054 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH | 13 | D3D12DDI_WORK_GRAPH_DESC_0108 |
| D3D12DDI_STATE_SUBOBJECT_TYPE_SHADER_EXPORT_SUMMARY | 0x100000 | D3D12DDI_FUNCTION_SUMMARY_005 |
Em uma definição de objeto de estado na DDI, os grafos de trabalho são um subobjeto do tipo D3D12DDI_STATE_SUBOBJECT_TYPE_WORK_GRAPH. Consulte a estrutura D3D12DDI_WORK_GRAPH_DESC_0108 para o layout do subobjeto. Estruturas e enumerações relacionadas são vinculadas a partir da página de referência dessa estrutura.
Os outros tipos de subobjeto são herdados as-is da especificação DXR.