WaveActiveBallot 函式
傳回 uint4,其中包含目前波中所有使用中通道之布林運算式評估的位元遮罩。
語法
uint4 WaveActiveBallot(
bool expr
);
參數
-
expr
-
要評估的布林運算式。
傳回值
uint4,包含目前波中所有使用中通道之布林運算式評估的位元遮罩。 最小有效位會對應至索引為零的通道。 對應至非使用中通道的位會是零。 大於或等於 WaveGetLaneCount 的位會是零。
備註
不同的 GPU 有不同的 SIMD 處理器寬度, (通道計數) 。 大部分的 WaveXXX 函式都可以在隱藏 SIMD 機器寬度的抽象層級運作。 若要將程式碼跨 GPU 的可攜性最大化,請使用不依賴機器寬度的內建函式。 例如,使用:
uint result = WaveActiveCountBits( bBit );
不要這樣撰寫:
uint result = countbits( WaveActiveBallot( bBit ) );
在所有著色器階段中,著色器模型 6.0 都支援此函式。
範例
// get a bitwise representation of the number of currently active lanes:
uint4 waveBits = WaveActiveBallot( true ); // convert to bits
另請參閱