costanti D3D10_SHADER

Opzioni di compilazione HLSL.

#define Descrizione
D3D10_SHADER_AVOID_FLOW_CONTROL Indicare al compilatore di non consentire il controllo del flusso (quando possibile).
D3D10_SHADER_DEBUG Inserire informazioni sul file di debug/riga/tipo/simbolo.
D3D10_SHADER_ENABLE_STRICTNESS Per impostazione predefinita, il compilatore HLSL disabilita la rigidità sulla sintassi deprecata. Se si specifica questo flag, questo flag consente la stretta che potrebbe non consentire la sintassi legacy.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY In questo modo, gli shader meno recenti possono essere compilati in 4_0 destinazioni.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT Compilare un vertex shader per il profilo shader più alto. Questa opzione attiva il debug (e ottimizzazioni).
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT Compilare un pixel shader per il profilo shader più alto successivo. Questa opzione attiva il debug (e ottimizzazioni).
D3D10_SHADER_IEEE_STRICTNESS Abilita la stretta IEEE.
D3D10_SHADER_NO_PRESHADER Disabilita Preshaders. L'uso di questo flag causerà che il compilatore non estrae l'espressione statica per la valutazione.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Livello di ottimizzazione più basso. Può produrre codice più lento, ma lo farà più rapidamente. Questo può essere utile in un ciclo di sviluppo di shader altamente iterativo.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Secondo livello di ottimizzazione più basso.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Secondo livello di ottimizzazione più alto.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Livello di ottimizzazione massimo. Produrrà il codice migliore possibile, ma potrebbe richiedere molto più tempo per farlo. Ciò sarà utile per le compilazioni finali di un'applicazione in cui le prestazioni sono il fattore più importante.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR A meno che non sia specificato in modo esplicito, le matrici verranno inserite nell'ordine principale della riga in base all'input e all'output dal shader.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR A meno che non sia specificato in modo esplicito, le matrici verranno raggruppate nell'ordine principale della colonna in base all'input e all'output dal shader. Questo è in genere più efficiente, poiché consente l'esecuzione della moltiplicazione della matrice vettoriale usando una serie di prodotti dot.
D3D10_SHADER_PARTIAL_PRECISION Forzare tutte le calcoli da eseguire con precisione parziale; questo può essere eseguito più velocemente in alcuni hardware.
D3D10_SHADER_PREFER_FLOW_CONTROL Indicare al compilatore di usare il controllo del flusso (quando possibile).
D3D10_SHADER_SKIP_OPTIMIZATION Ignorare l'ottimizzazione durante la generazione di codice; generalmente consigliato solo per il debug.
D3D10_SHADER_SKIP_VALIDATION Non convalidare il codice generato rispetto a funzionalità e vincoli noti. Usare questo solo con shader compilati correttamente in passato. Gli shader vengono sempre convalidati da DirectX prima di essere impostati sul dispositivo.
D3D10_SHADER_WARNINGS_ARE_ERRORS Informare il compilatore HLSL per considerare tutti gli avvisi come errori durante la compilazione del codice shader. Per il nuovo codice shader, è consigliabile usare questa opzione in modo da poter risolvere tutti gli avvisi e garantire il minor numero possibile di errori di codice difficili da trovare.

 

Queste costanti sono definite come macro in d3d10shader.h.

Costanti shader