firstbit (sm5 - asm)

從 LSB 或 MSB 尋找數位中的第一個位。

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
項目 描述
dest
[in]src0 中第一個位的整數位置,從 LSB 開始為 firstbit_lo 或 MSB 進行firstbit_hi。
src0
[in]輸入整數。

備註

此作業會傳回從 LSB 開始的 32 位輸入中設定的第一個位的整數位置,以firstbit_lo或 MSB 表示firstbit_hi。 例如,0x00000001上的 firstbit_lo 會傳回 0。 0x10000000 firstbit_hi傳回 3。

firstbit_shi (如果數位為負數,則為已簽署) 傳回 MSB 的前 0 個;否則,它會從 MSB 傳回前 1 個。

如果找不到相符專案,指令的所有變體會在 32 位) 暫存器中傳回 ~0 (0xffffffff。

使用此指令可快速列舉位欄位中的設定位,或尋找數位中最大 2 的冪。

本指示適用于下列著色器階段:

頂點 船體 網域 幾何形狀 像素 計算
X X X X X X

Mimimum 著色器模型

下列著色器模型中支援此指示:

著色器模型 支援
著色器模型 5
著色器模型 4.1
著色器模型 4
著色器模型 3 (DirectX HLSL)
著色器模型 2 (DirectX HLSL)
著色器模型 1 (DirectX HLSL)

著色器模型 5 元件 (DirectX HLSL)