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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk