Schleife : ps
Startet eine Schleife... endloop – ps block.
Syntax
Schleife aL, i # |
---|
Hierbei gilt:
- aL ist das Schleifenzählerregister , das die aktuelle Schleifenanzahl enthält.
- i# ist ein Konstanten-Ganzzahlregister. Siehe Bemerkungen.
Bemerkungen
Pixelshaderversionen | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
loop | x | x |
- Das Schleifenzählerregister (AL) enthält die aktuelle Schleifenanzahl und kann für die relative Adressierung im Eingabefarbregister (v#) innerhalb des Schleifenblocks verwendet werden.
- i#.x gibt die Iterationsanzahl an. Der rechtliche Bereich ist [0, 255]. Beachten Sie, dass diese Anweisung den Wert von i#.x nicht erhöht oder verringert.
- i#.y gibt den Anfangswert des Schleifenzählerregisters (AL ) an. Der rechtliche Bereich ist [0, 255]. Beachten Sie, dass diese Anweisung den Wert von i#.y nicht erhöht oder verringert.
- i#.z gibt die Schritt-/Schrittgröße an. Der rechtliche Bereich ist [-128, 127].
- i#.w wird nicht vom Schleifenblock verwendet und muss 0 sein.
- Schleifenblöcke können geschachtelt sein. Weitere Informationen finden Sie unter Einschränkungen der Flusssteuerung.
- Wenn er geschachtelt ist, bezieht sich der Wert des Schleifenzählerregisters (AL) auf den unmittelbar umschließenden Schleifenblock.
- Schleifenblöcke dürfen sich entweder vollständig innerhalb eines if*-Blocks oder vollständig um ihn herum befinden. Es ist kein Straddling zulässig.
Beispiel
loop aL, i3
add r1, r0, v2[ aL ]
endloop
Zugehörige Themen