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 |