Compartilhar via


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

Visão geral do Modelo de Sombreador 6

Modelo de sombreador 6