Funzione WavePrefixProduct
Restituisce il prodotto di tutti i valori nelle corsie attive in questa onda con indici inferiori a questa corsia.
Sintassi
<type> WavePrefixProduct(
<type> value
);
Parametri
value
Valore da moltiplicare.
Valore restituito
Prodotto di tutti i valori.
Commenti
L'ordine delle operazioni su questa routine non può essere garantito. Quindi, in modo efficace, il flag [preciso] viene ignorato all'interno di esso.
Un prodotto postfix può essere calcolato moltiplicando il prodotto prefisso in base al valore della corsia corrente.
Si noti che la corsia attiva con l'indice più basso riceverà sempre un 1 per il relativo prodotto prefisso.
Questa funzione è supportata dal modello shader 6.0 in tutte le fasi dello shader.
Esempio
uint numToMultiply = 2;
uint prefixProduct = WavePrefixProduct( numToMultiply );
In un computer con dimensioni di onda pari a 8 e tutte le corsie attive tranne le corsie 0 e 4, i valori seguenti verranno restituiti da WavePrefixProduct.
indice lane | status | prefixProduct |
---|---|---|
0 | inactive | n/d |
1 | active | = 1 |
2 | active | = 1*2 |
3 | active | = 1*2*2 |
4 | inactive | n/d |
5 | active | = 1*2*2*2 |
6 | active | = 1*2*2*2*2 |
7 | active | = 1*2*2*2*2*2*2 |