Partilhar via


Especificando destinos do compilador

Você precisa especificar o destino do sombreador — conjunto de recursos do sombreador — para compilar quando chamar a função D3DCompile, D3DCompile2, ou a função D3DCompileFromFile. Aqui listamos os objetivos para diferentes perfis que as funções D3DCompile* e o compilador HLSL suportam.

Níveis de recursos do Direct3D 11.0 e 11.1

Aqui estão os alvos de sombreador que os níveis de recurso do Direct3D 11.0 e 11.1 suportam.

Meta Descrição
cs_5_0 DirectCompute 5.0 (sombreador de computação)
ds_5_0 sombreador de domínio
gs_5_0 sombreador de geometria
hs_5_0 Sombreador do casco
ps_5_0 Sombreador de Pixels
vs_5_0 Sombreador Vertex

 

Nível de funcionalidade do Direct3D 10.1

Aqui estão os alvos de sombreador que o nível de funcionalidade Direct3D 10.1 suporta.

Público-alvo Descrição
cs_4_1 DirectCompute 4.1 (sombreador de computação
gs_4_1 sombreador de geometria
ps_4_1 sombreador de pixels
vs_4_1 Sombreador Vertex

 

Nível de funcionalidades para Direct3D 10.0

Aqui estão os alvos de sombreador que o Direct3D 10.0 nível de funcionalidade suporta.

Meta Descrição
cs_4_0 DirectCompute 4.0 (sombreador de computação
gs_4_0 sombreador de geometria
ps_4_0 Sombreador de Píxeis
vs_4_0 Sombreador Vertex

 

Níveis de recursos do Direct3D 9.1, 9.2 e 9.3

Aqui estão os destinos de sombreador que os níveis de recurso do Direct3D 9.1, 9.2 e 9.3 suportam.

Observação

Ao usar os perfis de sombreador HLSL *_4_0_level_9_x, você usa implicitamente os perfis de do Shader Model 2.x para oferecer suporte a hardware compatível com Direct3D 9. Os perfis Shader Model 2.x suportam um comportamento de controle de fluxo mais limitado do que os perfis Shader Model 4.x e posteriores.

 

Público-alvo Descrição
ps_4_0_level_9_1 Pixel shader para 9.1 e 9.2 (limites semelhantes aos ps_2_0)
  • 64 instruções aritméticas e 32 instruções de textura
  • 12 registos temporários
  • 4 níveis de leituras dependentes
ps_4_0_level_9_3 Pixel shader para 9.3 (limites semelhantes a ps_2_x² com funcionalidades adicionais de shader)
  • 512 instruções
  • 32 registos temporários
  • Controle de fluxo estático (profundidade máxima de 4)
  • Controlo dinâmico do fluxo (profundidade máxima de 24)
  • D3DPS20CAPS_ARBITRARYSWIZZLE
  • D3DPS20CAPS_GRADIENTINSTRUCTIONS
  • D3DPS20CAPS_PREDICATION
  • D3DPS20CAPS_NODEPENDENTREADLIMIT
  • D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT
vs_4_0_level_9_1 sombreador Vertex para 9.1 e 9.2 (semelhante ao vs_2_0)
  • 256 instruções
  • 12 registos temporários
  • Controle de fluxo estático (profundidade máxima de 1)
vs_4_0_level_9_3 Vertex shader para 9.3 (semelhante ao vs_2_a² com recursos adicionais de shader e instanciação)
  • 256 instruções
  • 32 registos temporários
  • Controle de fluxo estático (profundidade máxima de 4)
  • D3DVS20CAPS_PREDICATION

 

Modelo de sombreador Direct3D 9 herdado 3.0

Aqui estão os destinos de sombreador para o modelo de sombreador Direct3D 9 herdado 3.0³.

Objetivo Descrição
ps_3_0 Pixel shader 3.0
ps_3_sw Sombreador de Pixels 3.0 (software)
vs_3_0 Vertex shader 3.0
vs_3_sw Sombreador de vértices 3.0 (software)

 

Legado Direct3D 9 Shader Model 2.0

Aqui estão os alvos de sombreador para o modelo herdado Direct3D 9 de sombreador 2.0³.

Público-alvo Descrição
ps_2_0 Processador de pixels 2.0
ps_2_a Sombreador de pixel 2a
ps_2_b Pixel sombreador 2b
ps_2_sw Software Pixel shader 2.0
vs_2_0 sombreador Vertex 2.0
vs_2_a Sombreador Vertex 2a
vs_2_sw Software Vertex shader 2.0

 

Modelo de sombreador legado do Direct3D 9 1.x

Aqui estão os alvos do sombreador para o modelo de sombreador 1.x herdado do Direct3D 9.

Público-alvo Descrição
tx_1_0 Perfil de sombreador de textura que as funções herdadas do D3DX9⁵ D3DXCreateTextureShader e D3DXFillTextureTX utilizam.
vs_1_1 Vertex Shader 1.1

 

Efeitos herdados

Aqui estão os alvos de efeito para efeitos legados.

Público-alvo Descrição
fx_2_0 Efeitos (FX) para Direct3D 9 em D3DX9⁵
fx_4_0 Efeitos (FX) para Direct3D 10.0 em D3DX10⁵
fx_4_1 Efeitos (FX) para Direct3D 10.1 em D3DX10⁵
fx_5_0 Efeitos (FX) para Direct3D 11⁵

 

Observações

Aqui estão algumas notas às quais as seções anteriores se referem:

  1. nível de recurso dispositivos 10.0 e 10.1 podem opcionalmente suportar DirectCompute. Para verificar o suporte, use ID3D11Device::CheckFeatureSupport com D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS.
  2. nível de recurso 9.3 requer efetivamente hardware que esteja em conformidade com os requisitos para sombreador Direct3D 9 herdado modelo 3.0, mas esse nível de recurso não usa vs_3_0 ou ps_3_0 destinos.
  3. Utilize apenas os modelos de sombreador legados do Direct3D 9 com a API do Direct3D 9. Em vez disso, use os perfis 9.x com a API Direct3D 10.x e 11.x.
  4. Os atuais sombreadores HLSL nas funções D3DCompile* não dão suporte a sombreadores de píxeis 1.x legados. A última versão do HLSL a suportar esses destinos foi a D3DX9 na versão de outubro de 2006 do SDK do DirectX.
  5. Todas as versões do D3DX e do SDK do DirectX foram preteridas. Para obter mais informações, consulte Onde está o SDK do DirectX?.

Guia de programação para HLSL