Compartilhar via


Função WavePrefixSum

Retorna a soma de todos os valores nas faixas ativas com índices menores que este.

Sintaxe

<type> WavePrefixSum(
   <type> value
);

Parâmetros

value

O valor a ser somado.

Valor retornado

A soma dos valores.

Comentários

Não é possível garantir a ordem das operações nessa rotina. Portanto, efetivamente, o sinalizador [preciso] é ignorado dentro dele.

Uma soma de postfixo pode ser calculada adicionando a soma do prefixo ao valor da pista atual.

Observe que a faixa ativa com o índice mais baixo sempre receberá um 0 por sua soma de prefixo.

Essa função tem suporte do modelo de sombreador 6.0 em todos os estágios do sombreador.

Exemplos

uint numToSum = 2;
uint prefixSum = WavePrefixSum( numToSum );

Em um computador com um tamanho de onda de 8 e todas as pistas ativas, exceto as faixas 0 e 4, os valores a seguir seriam retornados de WavePrefixSum.

índice de faixa status prefixSum
0 inativos N/D
1 ativo = 0
2 ativo = 0+2
3 ativo = 0+2+2
4 inativos n/d
5 ativo = 0+2+2+2
6 ativo = 0+2+2+2+2+2
7 ativo = 0+2+2+2+2+2+2

Confira também

Visão geral do Modelo de Sombreador 6

Modelo de sombreador 6