Fungsi WaveActiveBallot

Mengembalikan uint4 yang berisi bitmask dari evaluasi ekspresi Boolean untuk semua jalur aktif dalam gelombang saat ini.

Sintaks

uint4 WaveActiveBallot(
   bool expr
);

Parameter

expr

Ekspresi boolean untuk dievaluasi.

Menampilkan nilai

Uint4 yang berisi bitmask dari evaluasi ekspresi Boolean untuk semua jalur aktif dalam gelombang saat ini. Bit yang paling tidak signifikan sesuai dengan jalur dengan indeks nol. Bit yang sesuai dengan jalur tidak aktif akan menjadi nol. Bit yang lebih besar dari atau sama dengan WaveGetLaneCount akan menjadi nol.

Keterangan

GPU yang berbeda memiliki lebar prosesor SIMD yang berbeda (jumlah jalur). Sebagian besar fungsi WaveXXX ini dapat beroperasi pada tingkat abstraksi di mana lebar komputer SIMD disembubungkan. Untuk memaksimalkan portabilitas kode di seluruh GPU, gunakan intrinsik yang tidak bergantung pada lebar komputer. Misalnya, gunakan:

uint result = WaveActiveCountBits( bBit );

Alih-alih:

uint result = countbits( WaveActiveBallot( bBit ) );

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

 

Contoh

// get a bitwise representation of the number of currently active lanes:
uint4 waveBits = WaveActiveBallot( true ); // convert to bits 

Lihat juga

Gambaran Umum Shader Model 6

Model Shader 6