firstbit (sm5 - asm)

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

firstbit{ _ hi|_lo|_shi} dest [ .mask ] , src0 [ .swizzle]
Element Beschreibung
Dest
[in Die ganzzahlige Position des ersten in src0 festgelegten Bits, beginnend mit ] der LSB für firstbit lo oder _ MSB für firstbit _ hi.
src0
[in ] Die ganzzahlige Eingabe.

Hinweise

Dieser Vorgang gibt die ganzzahlige Position des ersten in der 32-Bit-Eingabe festgelegten Bits zurück, beginnend mit LSB für firstbit _ lo oder MSB für firstbit _ hi. Beispielsweise gibt firstbit _ lo auf 0x00000001 0 zurück. firstbit _ hi on 0x10000000 gibt 3 zurück.

firstbit shi (s für signed) gibt die erste 0 aus dem MSB zurück, wenn die Zahl negativ ist. Andernfalls wird die erste 1 vom _ MSB zurückgegeben.

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

Verwenden Sie diese Anweisung, um die festgelegten Bits in einem Bitfeld schnell aufzählen oder die größte Leistung von 2 in einer Zahl zu finden.

Diese Anweisung gilt für die folgenden Shaderstufen:

Scheitelpunkt Rumpf Domäne Geometrie Pixel Compute
X X X X X X

Mimimum-Shadermodell

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

Shader Model 5-Assembly (DirectX HLSL)