Partager via


Nuanceurs de logiciels

Les nuanceurs logiciels sont implémentés pour permettre le développement de nuanceurs sans prise en charge matérielle sous-jacente. Ils prennent en charge l’ensemble de fonctionnalités complet. Étant donné qu’ils sont implémentés dans les logiciels, ils ne produisent pas les meilleures performances.

Version Ensemble de fonctionnalités Exigences
vs_2_sw Toutes les fonctionnalités de vs_2_x Uniquement pris en charge par le traitement du vertex logiciel et un appareil de référence.
vs_3_sw Toutes les fonctionnalités de vs_3_0 Uniquement pris en charge par le traitement du vertex logiciel et un appareil de référence.
ps_2_sw Toutes les fonctionnalités de ps_2_x Uniquement pris en charge par un appareil de référence.
ps_3_sw Toutes les fonctionnalités de ps_3_0 Uniquement pris en charge par un appareil de référence.

 

Certaines validations sont assouplies pour les nuanceurs logiciels. Cela est utile pour le débogage et le prototypage. Les validations suivantes sont assouplies : (toutes les autres validations restent identiques)

Type de validation Détente
Nombres d’instructions : Cela est détendu pour vs_2_sw, vs_3_sw et ps_2_sw, ps_3_sw. Des instructions illimitées sont autorisées.
Nombres de constantes float : Cela est détendu pour vs_2_sw, vs_3_sw et ps_2_sw, ps_3_sw. Jusqu’à 8192 constantes sont autorisées.
Nombres de constantes entières : Cela est détendu pour vs_2_sw, vs_3_sw et ps_2_sw, ps_3_sw. Jusqu’à 2048 constantes sont autorisées.
Nombres de constantes booléennes : Cela est détendu pour vs_2_sw, vs_3_sw et ps_2_sw, ps_3_sw. Jusqu’à 2048 constantes sont autorisées.
Profondeur de lecture dépendante : C’est détendu pour ps_2_sw. Comme dans vs_3_0 et ps_3_0, les lectures dépendantes illimitées sont autorisées.
Nombre d’instructions et d’étiquettes de contrôle de flux : C’est détendu pour vs_2_sw. Des instructions de contrôle de débit illimitées et jusqu’à 2048 étiquettes sont autorisées.
Nombre de boucles/démarrage/étape : Ceux-ci sont détendus pour vs_2_sw, vs_3_sw, ps_2_sw et ps_3_sw. La taille des étapes de début et d’itération pour les instructions de rep et de boucle est des entiers signés 32 bits. Le nombre d’itérations peut aller jusqu’à MAX_INT/64.
Limites de port de lecture : vs_2_sw, vs_3_sw, ps_2_sw et ps_3_sw n’ont pas de limite de port en lecture.
Nombre d’interpolateurs : Il existe 16 registres - vs_3_0 (o#) dans vs_3_sw et 10 registres ps_3_0 (v#) pour ps_3_sw.

 

référence asm Shader