si pred - ps

Début d’un if bool - ps... else - ps... endif - ps block, avec la condition extraite du contenu du registre de prédicat.

Syntaxe

si [!] pred.replicateSwizzle

 

Où :

  • [!] est un modificateur FACULTATIF NOT. Cela modifie la valeur dans le registre de prédicat.
  • pred est le registre de prédicat.
  • replicateSwizzle est un composant unique qui est copié (ou répliqué) sur les quatre composants (swizzled). Les composants valides sont les suivants : [x, y, z, w] ou [r, g, b, a].

Notes

Versions du nuanceur de pixels 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
if_pred x x x x

 

Cette instruction est utilisée pour ignorer un bloc de code, basé sur un canal du registre de prédicat. Chaque bloc if_pred doit se terminer par une instruction else - ps ou endif - ps .

Les restrictions sont les suivantes :

if_pred blocs peuvent être imbriqués. Cela compte pour la profondeur d’imbrication dynamique totale ainsi que if_comp blocs.

Un bloc if_pred ne peut pas chevaucher un bloc de boucles ; il doit être complètement à l’intérieur ou l’entourer.

Instructions du nuanceur de pixels