firstbit(sm5 - asm)

LSB 또는 MSB에서 숫자의 첫 번째 비트 집합을 찾습니다.

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
항목 설명
dest
[in] firstbit_lo의 경우 LSB 또는 firstbit_hi의 경우 MSB에서 시작하여 src0에 설정된 첫 번째 비트의 정수 위치입니다.
src0
[in] 입력 정수입니다.

설명

이 연산은 firstbit_lo에 대한 LSB 또는 firstbit_hi에 대한 MSB에서 시작하여 32비트 입력에 설정된 첫 번째 비트의 정수 위치를 반환합니다. 예를 들어, 0x00000001의 firstbit_lo는 0을 반환합니다. 0x10000000의 firstbit_hi는 3을 반환합니다.

firstbit_shi(s for signed)는 숫자가 음수이면 MSB에서 첫 번째 0을 반환합니다. 그렇지 않으면 MSB에서 첫 번째 1을 반환합니다.

명령의 모든 변형은 일치하는 항목이 없으면 ~0(32비트 레지스터의 0xffffffff)을 반환합니다.

이 명령을 사용하여 비트 필드에서 설정된 비트를 빠르게 열거하거나 숫자에서 2의 최대 거듭제곱을 찾습니다.

이 명령은 다음 셰이더 단계에 적용됩니다.

꼭짓점 Hull 도메인 기하 도형 픽셀 컴퓨팅
X X X X X X

최소 셰이더 모델

이 명령은 다음 셰이더 모델에서 지원됩니다.

셰이더 모델 지원 여부
셰이더 모델 5
셰이더 모델 4.1 아니요
셰이더 모델 4 아니요
셰이더 모델 3(DirectX HLSL) 아니요
셰이더 모델 2(DirectX HLSL) 아니요
셰이더 모델 1(DirectX HLSL) 아니요

셰이더 모델 5 어셈블리(DirectX HLSL)