Freigeben über


firstbit (sm5 – asm)

Sucht das erste Bit in einer Zahl, entweder von LSB oder MSB.

firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle]
Element BESCHREIBUNG
Dest
[in] Die ganzzahlige Position des ersten Bits, das in src0 ab dem LSB für firstbit_lo oder MSB für firstbit_hi festgelegt wird.
src0
[in] Die ganzzahlige Eingabe.

Bemerkungen

Dieser Vorgang gibt die ganzzahlige Position des ersten Bits zurück, das in der 32-Bit-Eingabe ab dem LSB für firstbit_lo oder MSB für firstbit_hi festgelegt ist. Beispielsweise gibt firstbit_lo auf 0x00000001 0 zurück. firstbit_hi auf 0x10000000 gibt 3 zurück.

firstbit_shi (s für signiert) gibt die erste 0 vom MSB zurück, wenn die Zahl negativ ist; Andernfalls wird die erste 1 vom MSB zurückgegeben.

Alle Varianten der Anweisung geben ~0 (0xffffffff im 32-Bit-Register) zurück, wenn keine Übereinstimmung gefunden wird.

Verwenden Sie diese Anweisung, um festgelegte Bits in einem Bitfeld schnell aufzulisten oder die größte Leistung von 2 in einer Zahl zu ermitteln.

Diese Anweisung gilt für die folgenden Shaderphasen:

Scheitelpunkt Hull Domain Geometrie Pixel Compute
X X X X X X

Mimimum Shader-Modell

Diese Anweisung wird in den folgenden Shadermodellen unterstützt:

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 Nein
Shadermodell 4 Nein
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Shadermodell 5-Assembly (DirectX HLSL)