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 |