bfi(sm5 - asm)
숫자의 LSB에서 비트 범위가 주어지면 임의의 오프셋에서 다른 숫자의 비트 수를 배치합니다.
bfi dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle], src3[.swizzle] |
---|
항목 | 설명 |
---|---|
dest |
[in] 결과의 주소입니다. |
src0 |
[in] src2에서 가져올 비트 필드 너비입니다. |
src1 |
[in] src3의 비트를 바꾸기 위한 비트 필드 오프셋입니다. |
src2 |
[in] 비트를 가져온 숫자입니다. |
src3 |
[in] 바꿀 비트가 있는 숫자입니다. |
설명
src0의 LSB 5비트는 src2에서 가져올 비트 필드 너비(0-31)를 제공합니다.
src1의 LSB 5비트는 비트 필드 오프셋(0-31)을 제공하여 src3에서 읽은 숫자의 비트 바꾸기를 시작합니다.
Given width, offset:
bitmask = (((1 << width)-1) << offset) & 0xffffffff
dest = ((src2 << offset) & bitmask) | (src3 & ~bitmask)
이 명령은 정수 또는 플래그를 압축하는 데 사용됩니다.
이 명령은 다음 셰이더 단계에 적용됩니다.
꼭짓점 | Hull | 도메인 | 기하 도형 | 픽셀 | 컴퓨팅 |
---|---|---|---|---|---|
X | X | X | X | X | X |
최소 셰이더 모델
이 명령은 다음 셰이더 모델에서 지원됩니다.
셰이더 모델 | 지원 여부 |
---|---|
셰이더 모델 5 | 예 |
셰이더 모델 4.1 | 아니요 |
셰이더 모델 4 | 아니요 |
셰이더 모델 3(DirectX HLSL) | 아니요 |
셰이더 모델 2(DirectX HLSL) | 아니요 |
셰이더 모델 1(DirectX HLSL) | 아니요 |