Condividi tramite


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

Vedi anche

Panoramica del modello shader 6

Modello shader 6