WavePrefixProduct-Funktion

Gibt das Produkt aller Werte in den aktiven Lanes in dieser Welle mit Indizes zurück, die kleiner als diese Spur sind.

Syntax

<type> WavePrefixProduct(
   <type> value
);

Parameter

value

Der zu multiplizierende Wert.

Rückgabewert

Das Produkt aller Werte.

Hinweise

Die Reihenfolge der Vorgänge für diese Routine kann nicht garantiert werden. Das genaue Flag wird also [ ] ignoriert.

Ein Postfixprodukt kann berechnet werden, indem das Präfixprodukt mit dem Wert der aktuellen Lane multipliziert wird.

Beachten Sie, dass die aktive Spur mit dem niedrigsten Index immer eine 1 für ihr Präfixprodukt erhält.

Diese Funktion wird von Shadermodell 6.0 in allen Shaderstufen unterstützt.

Beispiele

uint numToMultiply = 2;
uint prefixProduct = WavePrefixProduct( numToMultiply );

Auf einem Computer mit einer Wellengröße von 8 und allen aktiven Lanes außer den Lanes 0 und 4 werden die folgenden Werte von WavePrefixProduct zurückgegeben.

lane index status prefixProduct
0 inactive
1 aktiv = 1
2 aktiv = 1 * 2
3 aktiv = 1 * 2 * 2
4 inactive
5 aktiv = 1 * 2 * 2 * 2
6 aktiv = 1 * 2 * 2 * 2 * 2
7 aktiv = 1 * 2 * 2 * 2 * 2 * 2

Siehe auch

Übersicht über Shadermodell 6

Shadermodell 6