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) | 아니요 |