Condividi tramite


Funzione WaveActiveBallot

Restituisce un uint4 contenente una maschera di bit della valutazione dell'espressione booleana per tutte le corsie attive nell'onda corrente.

Sintassi

uint4 WaveActiveBallot(
   bool expr
);

Parametri

Expr

Espressione booleana da valutare.

Valore restituito

Oggetto uint4 contenente una maschera di bit della valutazione dell'espressione booleana per tutte le corsie attive nell'onda corrente. Il bit meno significativo corrisponde alla corsia con indice zero. I bit corrispondenti alle corsie inattive saranno zero. I bit maggiori o uguali a WaveGetLaneCount saranno zero.

Commenti

Gpu diverse hanno larghezze del processore SIMD diverse (conteggi delle corsie). La maggior parte di queste funzioni WaveXXX è in grado di operare a livello di astrazione in cui la larghezza della macchina SIMD è nascosta. Per ottimizzare la portabilità del codice tra GPU, usare le funzioni intrinseche che non si basano sulla larghezza del computer. Ad esempio, usare:

uint result = WaveActiveCountBits( bBit );

Anziché:

uint result = countbits( WaveActiveBallot( bBit ) );

Questa funzione è supportata dal modello shader 6.0 in tutte le fasi dello shader.

 

Esempi

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

Vedere anche

Panoramica del modello shader 6

Modello shader 6