Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un nuanceur de vertex programmable est constitué d’un ensemble d’instructions qui fonctionnent sur les données de vertex. Inscrit les données de transfert dans et hors de l’ALU. Vous pouvez appliquer un contrôle supplémentaire pour modifier l’instruction, les résultats ou les données écrites.
La version du nuanceur de vertex vs_2_x étend l’ensemble de fonctionnalités pris en charge par vs_2_0. Chaque fonctionnalité supplémentaire est représentée par une limite correspondante dans la structure D3DCAPS9 dans D3DVS20CAPS. Pour utiliser l’une des fonctionnalités améliorées représentées par ces majuscules, la version du nuanceur de vertex doit être spécifiée en tant que vs_2_x.
- Instructions - vs_2_x contient une liste des instructions disponibles.
- Registres - vs_2_x répertorie les différents types de registres utilisés par l’ALU du nuanceur de vertex.
- modificateurs de registre de nuanceurs de vertex sont utilisés pour modifier le fonctionnement d’une instruction.
- modificateurs du registre source du nuanceur de vertex modifier les données du registre source avant l’exécution de l’instruction.
- Registre source Swizzling donne un contrôle supplémentaire sur les composants d’inscription lus, copiés ou écrits.
- masque de registre de destination détermine quels composants du registre de destination sont écrits.
Nouvelles fonctionnalités
Les nouvelles fonctionnalités sont les suivantes :
Contrôle de flux dynamique
Si D3DVS20CAPS> 0, les instructions de contrôle de flux dynamique suivantes sont prises en charge :
Si D3DVS20CAPS est également défini, les instructions de contrôle de flux supplémentaires suivantes sont prises en charge :
La plage de valeurs pour la profondeur de contrôle de flux dynamique est de 0 à 24 et est égale à la profondeur d’imbrication des instructions de contrôle de flux dynamique (consultez limites d’imbrication du contrôle de flux pour plus d’informations). Si cette limite est égale à zéro, l’appareil ne prend pas en charge les instructions de contrôle de flux dynamique.
Nombre de registres temporaires
D3DVS20CAPS représente le nombre de registre temporairepris en charge par l’appareil. La plage de valeurs pour cette limite est de 12 à 32.
Profondeur d’imbrication du contrôle de flux statique
D3DVS20CAPS représente la profondeur d’imbrication de deux types d’instructions de contrôle de flux statiques : boucle - vs/rep - vs et appel - vs/callnz bool - vs/si bool - vs. boucle - vs/rep - vs instructions peuvent être imbriquées jusqu’à D3DVS20CAPS profond. Indépendamment, appel - vs/callnz bool - vs instructions peuvent être imbriqués jusqu’à D3DVS20CAPS profond. Si D3DVS20CAPS est également défini, callnz prédéfini - vs est compté vers la profondeur d’imbrication de l’appel - vs/callnz bool - vs/if bool - vs (voir Limites d’imbrication du contrôle de flux pour plus d’informations).
Prédication
Si D3DVS20CAPS est défini, l’appareil prend en charge setp_comp - vs et la prédication des instructions. Si D3DVS20CAPS est également supérieur à 0, les instructions de contrôle de flux dynamique supplémentaires suivantes sont prises en charge :
Nombre d’instructions
Chaque nuanceur de vertex peut avoir jusqu’à 256 instructions stockées. Le nombre d’instructions exécutées peut être beaucoup plus élevé (en raison de la prise en charge de boucle/rep), et est limité par D3DCAPS9, qui doit être au moins 0xFFFF.
Rubriques connexes