Partager via


Fonction WaveActiveBallot

Retourne un uint4 contenant un masque de bits de l’évaluation de l’expression booléenne pour toutes les voies actives dans la vague actuelle.

Syntaxe

uint4 WaveActiveBallot(
   bool expr
);

Paramètres

expr

Expression booléenne à évaluer.

Valeur retournée

Uint4 contenant un masque de bits de l’évaluation de l’expression booléenne pour toutes les voies actives dans la vague actuelle. Le bit le moins significatif correspond à la voie avec l’index zéro. Les bits correspondant aux voies inactives seront zéro. Les bits qui sont supérieurs ou égaux à WaveGetLaneCount seront zéro.

Notes

Différents GPU ont des largeurs de processeur SIMD différentes (nombre de voies). La plupart de ces fonctions WaveXXX sont capables de fonctionner au niveau de l’abstraction où la largeur de la machine SIMD est masquée. Pour optimiser la portabilité du code entre les GPU, utilisez les intrinsèques qui ne reposent pas sur la largeur de l’ordinateur. Par exemple, utilisez :

uint result = WaveActiveCountBits( bBit );

À la place de :

uint result = countbits( WaveActiveBallot( bBit ) );

Cette fonction est prise en charge à partir du modèle de nuanceur 6.0 dans toutes les étapes du nuanceur.

 

Exemples

// get a bitwise representation of the number of currently active lanes:
uint4 waveBits = WaveActiveBallot( true ); // convert to bits 

Voir aussi

Vue d’ensemble du modèle de nuanceur 6

Modèle de nuanceur 6