Función WaveActiveBallot
Devuelve una uint4 que contiene una máscara de bits de la evaluación de la expresión booleana para todos los carriles activos de la onda actual.
Sintaxis
uint4 WaveActiveBallot(
bool expr
);
Parámetros
-
expr
-
Expresión booleana que se va a evaluar.
Valor devuelto
Uint4 que contiene una máscara de bits de la evaluación de la expresión booleana para todos los carriles activos de la onda actual. El bit menos significativo corresponde al carril con el índice cero. Los bits correspondientes a las carriles inactivas serán cero. Los bits que son mayores o iguales que WaveGetLaneCount serán cero.
Comentarios
Diferentes GPU tienen diferentes anchos de procesador SIMD (recuentos de carril). La mayoría de estas funciones WaveXXX pueden funcionar en el nivel de abstracción donde se oculta el ancho de la máquina SIMD. Para maximizar la portabilidad del código entre GPU, use los intrínsecos que no dependen del ancho de la máquina. Por ejemplo, use:
uint result = WaveActiveCountBits( bBit );
En lugar de:
uint result = countbits( WaveActiveBallot( bBit ) );
Esta función es compatible con el modelo de sombreador 6.0 en todas las fases del sombreador.
Ejemplos
// get a bitwise representation of the number of currently active lanes:
uint4 waveBits = WaveActiveBallot( true ); // convert to bits
Vea también