WavePrefixProduct 函式
傳回此波作用中通道中所有值乘積,索引小於此通道。
語法
<type> WavePrefixProduct(
<type> value
);
參數
value
要相乘的值。
傳回值
所有值的乘積。
備註
無法保證此常式上的作業順序。 因此,實際上會在其中忽略 [precise] 旗標。
後置產品可以藉由將前置產品乘以目前通道的值來計算。
請注意,具有最低索引的作用中通道一律會收到其前置產品的 1。
在所有著色器階段中,著色器模型 6.0 都支援此函式。
範例
uint numToMultiply = 2;
uint prefixProduct = WavePrefixProduct( numToMultiply );
在波浪大小為 8 的機器上,除了 lanes 0 和 4 之外的所有通道都處於作用中狀態,則會從 WavePrefixProduct 傳回下列值。
lane 索引 | status | prefixProduct |
---|---|---|
0 | 非使用中 | n/a |
1 | 作用中 | = 1 |
2 | 作用中 | = 1*2 |
3 | 作用中 | = 1*2*2 |
4 | 非使用中 | n/a |
5 | 作用中 | = 1*2*2*2*2 |
6 | 作用中 | = 1*2*2*2*2*2 |
7 | 作用中 | = 1*2*2*2*2*2*2 |