WaveActiveBallot 함수
현재 웨이브의 모든 활성 레인에 대한 부울 식 평가의 비트마스크를 포함하는 uint4를 반환합니다.
구문
uint4 WaveActiveBallot(
bool expr
);
매개 변수
-
expr
-
평가할 부울 식입니다.
반환 값
현재 웨이브의 모든 활성 레인에 대한 부울 식 평가의 비트마스크를 포함하는 uint4입니다. 최하위 비트는 인덱스가 0인 레인에 해당합니다. 비활성 레인에 해당하는 비트는 0입니다. WaveGetLaneCount보다 크거나 같은 비트는 0이 됩니다.
설명
다른 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
참고 항목