Compartir a través de


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

Introducción al modelo de sombreador 6

Modelo de sombreador 6