Share via


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 

另請參閱

著色器模型 6 的概觀

著色器模型 6