Schleife - vs

Starten einer Schleife... Endloop-Block .

Syntax

loop aL, i #

 

Hierbei gilt:

Bemerkungen

Vertex-Shaderversionen 1_1 2_0 2_x 2_sw 3_0 3_sw
loop x x x x x

 

  • Das Loop Counter Register (aL) enthält die aktuelle Schleifenanzahl und kann für die relative Adressierung in das Konstantenzahlregister (c#) oder Ausgaberegister (o#) innerhalb des Schleifenblocks verwendet werden.
  • i#.x gibt die Iterationsanzahl an. Der rechtliche Bereich lautet [0, 255]. Beachten Sie, dass diese Anweisung den Wert von i#.x nicht erhöht oder reduziert.
  • i#.y gibt den Anfangswert des Loop Zählerregisters (aL) an. Der rechtliche Bereich lautet [0, 255]. Beachten Sie, dass diese Anweisung den Wert von i#.y nicht erhöht oder reduziert.
  • i#.z gibt die Schritt-/Stridegröße an. Der rechtliche Bereich lautet [-128, 127].
  • i#.w wird nicht verwendet und muss auf 0 festgelegt werden.
  • Loop Blöcke können geschachtelt werden. Siehe Flow Schachtelungsgrenzwerte für Steuerelemente.
  • Wenn geschachtelt, bezieht sich der Wert des Loop Counter Register (aL) auf den unmittelbar eingeschlossenen Schleifenblock.
  • Loop Blöcke dürfen entweder vollständig innerhalb eines If*-Blocks oder vollständig umgeben sein. Es ist kein Straddling zulässig.

Beispiel

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

Vertex-Shaderanweisungen