constantes D3D10_SHADER

Options de compilation HLSL.

#define Description
D3D10_SHADER_AVOID_FLOW_CONTROL Demandez au compilateur de ne pas autoriser le contrôle de flux (si possible).
D3D10_SHADER_DEBUG Insérez des informations de fichier/ligne/type/symbole de débogage.
D3D10_SHADER_ENABLE_STRICTNESS Par défaut, le compilateur HLSL désactive la rigueur sur la syntaxe dépréciée. La spécification de cet indicateur permet une rigueur qui peut ne pas autoriser la syntaxe héritée.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY Cela permet aux nuanceurs plus anciens de compiler sur des cibles 4_0.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT Compilez un nuanceur de vertex pour le profil de nuanceur le plus élevé suivant. Cette option active le débogage (et les optimisations désactivées).
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT Compilez un nuanceur de pixels pour le profil de nuanceur le plus élevé suivant. Cette option active le débogage (et les optimisations désactivées).
D3D10_SHADER_IEEE_STRICTNESS Active la rigueur IEEE.
D3D10_SHADER_NO_PRESHADER Désactive les preshaders. L’utilisation de cet indicateur entraîne le fait que le compilateur ne retire pas l’expression statique à des fins d’évaluation.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Niveau d’optimisation le plus bas. Peut produire du code plus lent, mais le fera plus rapidement. Cela peut être utile dans un cycle de développement de nuanceur hautement itératif.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Deuxième niveau d’optimisation le plus bas.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Deuxième niveau d’optimisation le plus élevé.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Niveau d’optimisation le plus élevé. Génère le meilleur code possible, mais cela peut prendre beaucoup plus de temps. Cela sera utile pour les builds finales d’une application où les performances sont le facteur le plus important.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR Sauf indication explicite, les matrices sont empaquetées dans l’ordre des lignes principales lors de l’entrée et de la sortie du nuanceur.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR Sauf indication explicite, les matrices sont empaquetées dans l’ordre des colonnes principales lors de l’entrée et de la sortie du nuanceur. Cela est généralement plus efficace, car il permet d’effectuer une multiplication de matrices vectorielles à l’aide d’une série de produits point.
D3D10_SHADER_PARTIAL_PRECISION Forcer tous les calculs à effectuer avec une précision partielle ; cela peut s’exécuter plus rapidement sur certains matériels.
D3D10_SHADER_PREFER_FLOW_CONTROL Demandez au compilateur d’utiliser le contrôle de flux (si possible).
D3D10_SHADER_SKIP_OPTIMIZATION Ignorer l’optimisation pendant la génération du code ; généralement recommandé pour le débogage uniquement.
D3D10_SHADER_SKIP_VALIDATION Ne validez pas le code généré par rapport aux fonctionnalités et contraintes connues. Utilisez-le uniquement avec des nuanceurs qui ont été compilés avec succès dans le passé. Les nuanceurs sont toujours validés par DirectX avant d’être définis sur l’appareil.
D3D10_SHADER_WARNINGS_ARE_ERRORS Informez le compilateur HLSL de traiter tous les avertissements comme des erreurs lors de la compilation du code du nuanceur. Pour le nouveau code du nuanceur, vous devez utiliser cette option afin de pouvoir résoudre tous les avertissements et garantir le moins de défauts de code difficiles à trouver.

 

Ces constantes sont définies en tant que macros dans d3d10shader.h.

Constantes du nuanceur