Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O pipeline programável do Direct3D 12 aumenta significativamente o desempenho de renderização em comparação com as interfaces de programação gráfica da geração anterior.
- pipeline de gráficos Direct3D 12
- Objetos de estado do pipeline
- pipeline de computação do Direct3D 12
- Tópicos relacionados
Pipeline de gráficos Direct3D 12
O diagrama a seguir ilustra o pipeline e o estado dos gráficos Direct3D 12.
de estado do Direct3D 12
Um pipeline gráfico é o fluxo sequencial de entradas e saídas de dados à medida que a GPU renderiza quadros. Dado o estado do pipeline e as entradas, a GPU executa uma série de operações para criar as imagens resultantes. Um pipeline gráfico contém sombreadores, que executam efeitos de renderização programáveis e cálculos, e operações de função fixa.
Observe o seguinte ao se referir ao diagrama de estado do pipeline:
- As tabelas e heaps descritores podem ser organizados arbitrariamente: SRVs, CBVs e UAVs podem ser referenciados e alocados em qualquer ordem.
- Algumas operações do pipeline são configuráveis. Por exemplo, a fusão de saída normalmente opera em uma base de leitura-modificação-gravação com as visualizações de estêncil de profundidade e destino de renderização. No entanto, o pipeline pode ser configurado para que qualquer uma dessas exibições seja somente leitura ou somente gravação.
- Os amostradores estáticos não fazem parte dos argumentos raiz, uma vez que são estáticos.
Objetos de estado do pipeline
O Direct3D 12 apresenta o objeto de estado do pipeline (PSO). Em vez de armazenar e representar o estado do pipeline em um grande número de objetos de alto nível, os estados dos componentes do pipeline, como o montador de entrada, o rasterizador, o sombreador de pixel e a fusão de saída, são armazenados em uma OSP. Uma OSP é um objeto de estado de pipeline unificado que é imutável após a criação. A PSO atualmente selecionada pode ser alterada rápida e dinamicamente, e o hardware e os drivers podem converter diretamente uma OSP em instruções e estado de hardware nativo, preparando a GPU para processamento gráfico. Para aplicar uma PSO, o hardware copia uma quantidade mínima de estado pré-computado diretamente para os registradores de hardware. Isso remove a sobrecarga causada pelo driver gráfico recalcular continuamente o estado do hardware com base em todas as configurações de renderização e pipeline atualmente aplicáveis. O resultado é uma redução significativa da sobrecarga de chamadas de sorteio, maior desempenho e mais chamadas de desenho por quadro.
A OSP aplicada atualmente define e conecta todos os sombreadores que estão sendo usados no pipeline de renderização. Microsoft High Level Shader Language (HLSL) é pré-compilado em objetos sombreadores, que são usados em tempo de execução como entrada para objetos de estado de pipeline. Para obter mais informações sobre como o PSO funciona dentro do pipeline de gráficos, consulte Managing graphics pipeline state in Direct3D 12.
Pipeline de computação do Direct3D 12
O diagrama a seguir ilustra o pipeline e o estado de computação do Direct3D 12.
Não há unidades de função fixas neste pipeline, no entanto, pilhas de descritores, pilhas de amostradores e amostradores estáticos ainda estão disponíveis na computação.
Tópicos relacionados