Níveis de recursos de hardware

Descreve a funcionalidade dos níveis de recurso de hardware 11_0 a 12_1.

Para lidar com a diversidade de placas de vídeo em computadores novos e existentes, o Microsoft Direct3D 11 introduziu o conceito de níveis de recursos. Cada cartão de vídeo implementa um determinado nível de funcionalidade do Microsoft DirectX (DX), dependendo das GPUs (unidades de processamento gráfico) instaladas. Um nível de recurso é um conjunto bem definido de funcionalidade de GPU. Por exemplo, o nível de recurso 11_0 implementa a funcionalidade que foi implementada no Direct3D 11.

Agora, ao criar um dispositivo, você pode tentar criar um dispositivo para o nível de recurso que deseja solicitar. Se for possível criar um dispositivo, isso significa que o nível de recursos existe; caso contrário, o hardware não permite tal nível de recursos. Você pode tentar recriar um dispositivo em um nível de recursos inferior ou optar por sair do aplicativo.

As propriedades básicas dos níveis de recurso são:

  • Todos os drivers Direct3D 12 serão Nível de Recurso 11_0 ou superior.
  • Uma GPU que permite que um dispositivo seja criado atende ou excede a funcionalidade desse nível de recurso.
  • Um nível de recurso sempre inclui a funcionalidade de níveis de recursos anteriores ou inferiores.
  • Um nível de recurso não implica desempenho, apenas funcionalidade. O desempenho depende da implementação de hardware.
  • Um nível de recurso é escolhido quando você chama D3D12CreateDevice.
  • Para obter informações mais detalhadas sobre recursos com suporte (especialmente aqueles marcados como Opcionais na tabela abaixo, o que significa que o hardware pode dar suporte ao recurso, mas não é necessário) chame CheckFeatureSupport.

Para obter informações sobre limitações na criação de dispositivos de tipo não hardware em determinados níveis de recursos, consulte Limitações ao criar dispositivos WARP e de referência. Para obter mais informações sobre a introdução dos níveis de recursos, consulte a documentação do Direct3D 11 sobre os níveis de recursos do Direct3D.

Sistemas de Numeração

Os níveis de recursos de hardware não são iguais às versões da API. Por exemplo, há uma API D3D11.3, mas não há nível de recurso de hardware 11_3. Os níveis de recurso são definidos na enumeração D3D_FEATURE_LEVEL .

Há três sistemas de numeração distintos:

  • As versões do Direct3D usam um período; por exemplo, Direct3D 12.0.
  • Os modelos de sombreador usam um período; por exemplo, modelo de sombreador 5.1.
  • Os níveis de recurso usam um sublinhado; por exemplo, nível de recurso 12_0.

Suporte ao nível do recurso

Os recursos a seguir estão disponíveis para cada nível de recurso do Direct3D.

Os títulos na linha superior são níveis de recursos do Direct3D. Os títulos na coluna à esquerda são recursos.

Recurso \ Nível de Recurso 12_1⁰ 12_0⁰ 11_1¹ 11_0
Modelo de Sombreador 6,0 6,0 6.0/5.1² 6.0/5.1²
Camada de Associação de Recursos Camada2ódico Camada2ódico Tier1ódico Tier1ódico
Recursos em bloco Camada2ódico Camada2ódico Opcional Opcional
Rasterização conservativa Tier1ódico Opcional Opcional Não
Modos de exibição ordenados do rasterizador Sim Opcional Opcional Não
Filtros mínimos/máximos Sim Sim Opcional Não
Mapear buffer padrão Opcional Opcional Opcional Opcional
Valor de referência de estêncil especificado pelo sombreador Opcional Opcional Opcional Não
Cargas de exibição de acesso não ordenadas digitadas 18 formatos, mais opcionais 18 formatos, mais opcionais 3 formatos, mais opcionais 3 formatos, mais opcionais
Sombreador de geometria Sim Sim Sim Sim
Stream Out Sim Sim Sim Sim
Sombreador DirectCompute/Compute Sim Sim Sim Sim
Sombreadores hull e domain Sim Sim Sim Sim
Matrizes de recursos de textura Sim Sim Sim Sim
Matrizes de recursos de cubemap Sim Sim Sim Sim
Compactação BC1 a BC7 Sim Sim Sim Sim
Alpha-to-coverage Sim Sim Sim Sim
Operações lógicas (fusão de saída) Sim Sim Sim Opcional
Rasterização independente de destino Sim Sim Sim Não
MrT (destino de renderização múltipla) com ForcedSampleCount 1 Sim Sim Sim Opcional
Contagem máxima de exemplos forçados para renderização somente UAV 16 16 16 8
Dimensão máxima de textura 16384 16384 16384 16384
Dimensão de Mapa de Cubo Máximo 16384 16384 16384 16384
Extensão máxima do volume 2.048 2.048 2.048 2.048
Repetição máxima de textura 16384 16384 16384 16384
Anisotropia Máxima 16 16 16 16
Contagem primitiva máxima 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Índice máximo de vértice 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Máximo de slots de entrada 32 32 32 32
Destinos de renderização simultâneos 8 8 8 8
Consultas de oclusão Sim Sim Sim Sim
Separação do Alpha Blend Sim Sim Sim Sim
Espelhar uma vez Sim Sim Sim Sim
Elementos de vértice sobrepostos Sim Sim Sim Sim
Máscaras de Gravação Independentes Sim Sim Sim Sim
Instanciação Sim Sim Sim Sim

 

  • ⁰ Requer o runtime do Direct3D 11.3 ou Direct3D 12.
  • ¹ Requer o runtime do Direct3D 11.1.
  • O modelo de sombreador 5.0 ² pode, opcionalmente, dar suporte a sombreadores de precisão dupla, sombreadores de precisão dupla estendidos, instrução de sombreador SAD4 e sombreadores de precisão parcial. Para determinar as opções do modelo de sombreador 5.0 disponíveis, chame ID3D12Device::CheckFeatureSupport. Alguma compatibilidade depende do hardware em que você está executando: o modelo de sombreador 5.1 só tem suporte no hardware que dá suporte à API do DirectX 12, independentemente do nível de recurso que está sendo usado. O hardware do DirectX 11 dá suporte apenas ao modelo de sombreador 5.0. A API do DirectX 12 só vai para o nível de recurso 11_0.
  • Ascamadas são opcionais.
  • Os níveis de recursos 12_0 e 12_1 exigem o runtime do Direct3D 11.3 ou Direct3D 12.
  • O nível de recurso 11_1 requer o runtime do Direct3D 11.1.
  • O nível de recurso 11_0 requer o runtime do Direct3D 11.0.

Suporte de hardware para formatos DXGI

Para exibir tabelas de formatos DXGI e recursos de hardware, consulte:

Consulta de funcionalidade

Introdução ao Direct3D 12