WavePrefixSum 函式
傳回使用中通道中所有值的總和,其索引小於這個索引。
語法
<type> WavePrefixSum(
<type> value
);
參數
value
要加總的值。
傳回值
值的總和。
備註
無法保證此常式上的作業順序。 因此,實際上會忽略 [precise] 旗標。
您可以將前置詞總和新增至目前通道的值,以計算後置總和。
請注意,具有最低索引的作用中通道一律會收到其前置詞總和的 0。
所有著色器階段的著色器模型 6.0 都支援此函式。
範例
uint numToSum = 2;
uint prefixSum = WavePrefixSum( numToSum );
在波浪大小為 8 的電腦上,除了 lane 0 和 4 以外的所有通道,下列值會從 WavePrefixSum 傳回。
lane 索引 | status | prefixSum |
---|---|---|
0 | 非使用中 | n/a |
1 | 作用中 | = 0 |
2 | 作用中 | = 0+2 |
3 | 作用中 | = 0+2+2 |
4 | 非使用中 | n/a |
5 | 作用中 | = 0+2+2+2+2 |
6 | 作用中 | = 0+2+2+2+2+2 |
7 | 作用中 | = 0+2+2+2+2+2+2 |