Programas genéricos

Programas genéricos fornecem uma maneira de definir gráficos e pipelines de computação dentro de objetos de estado, usando a mesma infraestrutura que ray tracing e grafos de trabalho. Em vez de criar PSOs (objetos de estado de pipeline) separados, você pode definir vários programas em um único objeto de estado ao compor blocos de construção compartilhados, como sombreadores e estado de mesclagem.

Este artigo descreve os DDIs para um driver gráfico em modo de usuário (UMD) a fim de dar suporte a programas genéricos, disponíveis a partir do Windows 11, versão 24H2 (WDDM 3.2). Programas genéricos exigem suporte ao Modelo de Sombreador 6.8. Para obter detalhes, consulte a especificação de Programas Genéricos.

Relatar o suporte para programas genéricos

O suporte ao Modelo de Sombreador 6.8 implica em suporte a programas genéricos. Não há relatórios de funcionalidades separados específicos para programas genéricos.

Tabelas de funções DDI

Programas genéricos usam as seguintes funções DDI:

Objetos de estado

Defina programas genéricos dentro de objetos de estado usando o tipo de subobjeto D3D12DDI_STATE_SUBOBJECT_TYPE_GENERIC_PROGRAM (valor 15) em D3D12DDI_STATE_SUBOBJECT_TYPE. Consulte D3D12DDI_GENERIC_PROGRAM_DESC_0108 para a estrutura de subobjeto.

Um programa genérico especifica um nome de programa, exportações de sombreador (sombreador de vértice, sombreador de pixel, sombreador de computação e outros) e referências a outros subobjetos, como estado de mistura e estado de rasterizador. Os subobjetos de estado do pipeline gráfico incluem mistura, rasterizador, profundidade/estêncil, layout de entrada, topologia primitiva, formatos de alvos de renderização e outros, conforme definido na enumeração D3D12DDI_STATE_SUBOBJECT_TYPE.

Programas genéricos dão suporte aos seguintes destinos de sombreador do Shader Model 6.8: vs_6_8, ps_6_8, cs_6_8, ms_6_8 e as_6_8.

Relação com grafos de trabalho

Programas genéricos e grafos de trabalho são recursos independentes que compartilham a infraestrutura de objeto de estado. Programas genéricos exigem apenas o Shader Model 6.8, enquanto os grafos de trabalho exigem suporte explícito à capacidade WorkGraphsTier.

Consulte também