Fungsi WavePrefixSum

Mengembalikan jumlah semua nilai di jalur aktif dengan indeks yang lebih kecil dari yang ini.

Sintaks

<type> WavePrefixSum(
   <type> value
);

Parameter

nilai

Nilai yang akan dirangkum.

Mengembalikan nilai

Jumlah nilai.

Keterangan

Urutan operasi pada rutinitas ini tidak dapat dijamin. Jadi, secara efektif, bendera [tepat] diabaikan di dalamnya.

Jumlah postfix dapat dihitung dengan menambahkan jumlah awalan ke nilai jalur saat ini.

Perhatikan bahwa jalur aktif dengan indeks terendah akan selalu menerima 0 untuk jumlah awalannya.

Fungsi ini didukung dari model shader 6.0 di semua tahap shader.

Contoh

uint numToSum = 2;
uint prefixSum = WavePrefixSum( numToSum );

Pada mesin dengan ukuran gelombang 8, dan semua jalur aktif kecuali jalur 0 dan 4, nilai berikut akan dikembalikan dari WavePrefixSum.

indeks jalur status prefixSum
0 Aktif n/a
1 aktif = 0
2 aktif = 0+2
3 aktif = 0+2+2
4 Aktif n/a
5 aktif = 0+2+2+2
6 aktif = 0+2+2+2+2
7 aktif = 0+2+2+2+2+2

Lihat juga

Gambaran Umum Shader Model 6

Model Shader 6