Partager via


vs_2_x

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.

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.

nuanceurs de vertex