bfi (sm5 - asm)

Mengingat rentang bit dari LSB angka, tempatkan jumlah bit tersebut dalam angka lain pada offset apa pun.

bfi dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle], src3[.swizzle]
Item Deskripsi
Dest
[in] Alamat hasil.
src0
[in] Lebar bitfield untuk diambil dari src2.
src1
[in] Offset bitfield untuk mengganti bit di src3.
src2
[in] Angka asal bit diambil.
src3
[in] Angka dengan bit yang akan diganti.

Keterangan

LSB 5 bit src0 menyediakan lebar bitfield (0-31) untuk diambil dari src2.

LSB 5 bit src1 menyediakan offset bitfield (0-31) untuk mulai mengganti bit dalam angka yang dibaca dari src3.

Given width, offset:
                bitmask = (((1 << width)-1) << offset) & 0xffffffff
                dest = ((src2 << offset) & bitmask) | (src3 & ~bitmask)

Instruksi ini digunakan untuk mengemas bilangan bulat atau bendera.

Instruksi ini berlaku untuk tahap shader berikut:

Puncak Hull Domain Geometri Pixel Compute
X X X X X X

Minimum Shader Model

Instruksi ini didukung dalam model shader berikut:

Shader Model Didukung
Model Shader 5 ya
Model Shader 4.1 tidak
Model Shader 4 tidak
Shader Model 3 (DirectX HLSL) tidak
Shader Model 2 (DirectX HLSL) tidak
Shader Model 1 (DirectX HLSL) tidak

Shader Model 5 Assembly (DirectX HLSL)