Specifica delle destinazioni del compilatore

È necessario specificare la destinazione dello shader, ovvero il set di funzionalità dello shader, per la compilazione quando si chiama la funzione D3DCompile, D3DCompile2 o D3DCompileFromFile . Qui vengono elencate le destinazioni per vari profili supportati dalle funzioni D3DCompile* e dal compilatore HLSL.

Livelli di funzionalità Direct3D 11.0 e 11.1

Ecco le destinazioni shader supportate dai livelli di funzionalità Direct3D 11.0 e 11.1.

Destinazione Descrizione
cs_5_0 DirectCompute 5.0 (compute shader)
ds_5_0 Domain shader
gs_5_0 Geometry shader
hs_5_0 Hull shader
ps_5_0 Pixel shader
vs_5_0 Vertex shader

 

Livello di funzionalità direct3D 10.1

Ecco le destinazioni shader supportate dal livello di funzionalità Direct3D 10.1.

Destinazione Descrizione
cs_4_1 DirectCompute 4.1 (compute shader
gs_4_1 Geometry shader
ps_4_1 Pixel shader
vs_4_1 Vertex shader

 

Livello di funzionalità direct3D 10.0

Ecco le destinazioni shader supportate dal livello di funzionalità Direct3D 10.0.

Destinazione Descrizione
cs_4_0 DirectCompute 4.0 (compute shader
gs_4_0 Geometry shader
ps_4_0 Pixel shader
vs_4_0 Vertex shader

 

Livelli di funzionalità Direct3D 9.1, 9.2 e 9.3

Ecco le destinazioni shader supportate dai livelli di funzionalità Direct3D 9.1, 9.2 e 9.3.

Nota

Quando si usano i profili shader *_4_0_level_9_x HLSL, si usano in modo implicito i profili shader Model 2.x per supportare l'hardware compatibile con Direct3D 9. I profili del modello shader 2.x supportano un comportamento di controllo del flusso più limitato rispetto ai profili modello shader 4.x e versioni successive.

 

Destinazione Descrizione
ps_4_0_level_9_1 Pixel shader per 9.1 e 9.2 (limiti simili ai ps_2_0)
  • 64 istruzioni aritmetiche e 32 trame
  • 12 registri temporanei
  • 4 livelli di letture dipendenti
ps_4_0_level_9_3 Pixel shader per 9.3 (limiti simili a ps_2_x² con funzionalità aggiuntive dello shader)
  • 512 istruzioni
  • 32 registri temporanei
  • Controllo flusso statico (profondità massima 4)
  • Controllo del flusso dinamico (profondità massima di 24)
  • D3DPS20CAPS_ARBITRARYSWIZZLE
  • D3DPS20CAPS_GRADIENTINSTRUCTIONS
  • D3DPS20CAPS_PREDICATION
  • D3DPS20CAPS_NODEPENDENTREADLIMIT
  • D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT
vs_4_0_level_9_1 Vertex shader per 9.1 e 9.2 (simile a vs_2_0)
  • 256 istruzioni
  • 12 registri temporanei
  • Controllo flusso statico (profondità massima 1)
vs_4_0_level_9_3 Vertex shader per 9.3 (simile a vs_2_a² con funzionalità aggiuntive dello shader e creazione di istanze)
  • 256 istruzioni
  • 32 registri temporanei
  • Controllo flusso statico (profondità massima 4)
  • D3DVS20CAPS_PREDICATION

 

Modello di shader Direct3D 9 legacy 3.0

Ecco le destinazioni shader per il modello legacy di shader Direct3D 9 3.0".

Destinazione Descrizione
ps_3_0 Pixel shader 3.0
ps_3_sw Pixel shader 3.0 (software)
vs_3_0 Vertex shader 3.0
vs_3_sw Vertex shader 3.0 (software)

 

Legacy Direct3D 9 Shader Model 2.0

Ecco le destinazioni shader per il modello direct3D 9 shader legacy 2.0³.

Destinazione Descrizione
ps_2_0 Pixel shader 2.0
ps_2_a Pixel shader 2a
ps_2_b Pixel shader 2b
ps_2_sw Software pixel shader 2.0
vs_2_0 Vertex shader 2.0
vs_2_a Vertex shader 2a
vs_2_sw Software Vertex shader 2.0

 

Legacy Direct3D 9 Shader Model 1.x

Ecco le destinazioni dello shader per il modello di shader Direct3D 9 legacy 1.x⁴.

Destinazione Descrizione
tx_1_0 Profilo shader trama legacy D3DX9⁵ funzioni D3DXCreateTextureShader e D3DXFillTextureTX
vs_1_1 Vertex shader 1.1

 

Effetti legacy

Ecco gli obiettivi di effetto per gli effetti legacy.

Destinazione Descrizione
fx_2_0 Effetti (FX) per Direct3D 9 in D3DX9⁵
fx_4_0 Effetti (FX) per Direct3D 10.0 in D3DX10⁵
fx_4_1 Effetti (FX) per Direct3D 10.1 in D3DX10⁵
fx_5_0 Effetti (FX) per Direct3D 11⁵

 

Note

Ecco alcune note che le sezioni precedenti fanno riferimento a:

  1. i dispositivi a livello di funzionalità 10.0 e 10.1 possono supportare facoltativamente DirectCompute. Per verificare il supporto, usare ID3D11Device::CheckFeatureSupport con D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS.
  2. il livello di funzionalità 9.3 richiede in modo efficace l'hardware conforme ai requisiti per il modello di shader Direct3D 9 legacy 3.0, ma questo livello di funzionalità non usa destinazioni vs_3_0 o ps_3_0.
  3. Usare solo modelli di shader Direct3D 9 legacy con l'API Direct3D 9. Usare invece i profili 9.x con l'API Direct3D 10.x e 11.x.
  4. Le funzioni HLSL shader D3DCompile* correnti non supportano gli shader 1.x legacy. L'ultima versione di HLSL per supportare queste destinazioni è D3DX9 nella versione di ottobre 2006 di DirectX SDK.
  5. Tutte le versioni di D3DX e DirectX SDK sono deprecate. Per altre informazioni, vedere Dove è DirectX SDK?.

Guida alla programmazione per HLSL