loop – ps

Startet eine Schleife... endloop : ps-Block.

Syntax

loop aL, i#

Hierbei gilt:

Bemerkungen

Pixel-Shaderversionen 1_1 1_2 1 _ 3 1_4 2 _ 0 2 _ x 2 _ sw 3 _ 0 3 _ sw
loop x x
  • Das Loop Counter Register (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 [ beträgt 0, 255 ] . Beachten Sie, dass der Wert von i.x durch diese Anweisung nicht erhöht oder # dekrementiert wird.
  • i # .y gibt den Anfangswert des AL-Registers (Loop Counter Register) an. Der rechtliche Bereich [ beträgt 0, 255 ] . Beachten Sie, dass der Wert von i.y durch diese Anweisung nicht erhöht # oder dekrementiert wird.
  • i # .z gibt die Schritt-/Schrittgröße an. Der rechtliche Bereich ist [ -128, 127 ] .
  • i # .w wird vom Schleifenblock nicht verwendet und muss 0 sein.
  • Schleifenblöcke können geschachtelt sein. Weitere Informationen finden Flow Einschränkungen des Steuerelements.
  • Bei der Verschachtelung bezieht sich der Wert des Loop Counter Register (aL) auf den unmittelbaren 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 Umschnallen zulässig.

Beispiel

loop aL, i3
    add r1, r0, v2[ aL ]
endloop

Anweisungen für Pixel-Shader