Share via


vs_2_x

Un nuanceur de vertex programmable est constitué d’un ensemble d’instructions qui fonctionnent sur les données de vertex. Enregistre les données de transfert dans et hors de l’ALU. Un contrôle supplémentaire peut être appliqué pour modifier l’instruction, les résultats ou les données écrites.

La version vs_2_x du nuanceur de vertex é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 comprise entre 0 et 24 et est égale à la profondeur d’imbrication des instructions de contrôle de flux dynamique (pour plus d’informations, consultez Limites d’imbrication du contrôle de flux). 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 registres temporairespris en charge par l’appareil. La plage de valeurs pour cette limite est comprise entre 12 et 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 statique : loop - vs/rep - vs and callnz/bool - vs/if bool - vs. loop - vs/rep - vs instructions peuvent être imbriquées jusqu’à la profondeur D3DVS20CAPS. Indépendamment, l’appel - vs/callnz bool - vs instructions peut être imbriqué jusqu’à la profondeur D3DVS20CAPS. Si D3DVS20CAPS est également défini, callnz pred - vs est compté dans la profondeur d’imbrication de l’appel - vs/callnz bool - vs/if bool - vs (pour plus d’informations, consultez Limites d’imbrication du contrôle de flux ).

Prédicat

Si D3DVS20CAPS est défini, l’appareil prend en charge setp_comp - 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 la boucle/du rep), et est limité par D3DCAPS9, qui doit être au moins 0xFFFF.

Nuanceurs de vertex