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 |