Função WaveActiveBallot
Retorna um uint4 que contém uma máscara de bits da avaliação da expressão booliana para todas as faixas ativas na onda atual.
Sintaxe
uint4 WaveActiveBallot(
bool expr
);
Parâmetros
-
expr
-
A expressão booliana a ser avaliada.
Valor retornado
Um uint4 que contém uma máscara de bits da avaliação da expressão booliana para todas as faixas ativas na onda atual. O bit menos significativo corresponde à faixa com o índice zero. Os bits correspondentes a pistas inativas serão zero. Os bits maiores ou iguais a WaveGetLaneCount serão zero.
Comentários
GPUs diferentes têm larguras diferentes do processador SIMD (contagens de faixa). A maioria dessas funções WaveXXX é capaz de operar no nível de abstração em que a largura do computador SIMD está ocultada. Para maximizar a portabilidade do código entre GPUs, use os intrínsecos que não dependem da largura do computador. Por exemplo, use:
uint result = WaveActiveCountBits( bBit );
Em vez de:
uint result = countbits( WaveActiveBallot( bBit ) );
Essa função tem suporte do modelo de sombreador 6.0 em todos os estágios do sombreador.
Exemplos
// get a bitwise representation of the number of currently active lanes:
uint4 waveBits = WaveActiveBallot( true ); // convert to bits
Confira também