call – vs

Führt einen Funktionsaufruf an die Anweisung aus, die mit der angegebenen Bezeichnung markiert ist.

Syntax

call l#

Wobei l # eine Bezeichnung ist , im Gegensatz zum Markieren des Anfangs der auf zu aufgerufenen Unterroutine.

Hinweise

Vertex-Shaderversionen 1_1 2 _ 0 2 _ x 2 _ sw 3 _ 0 3 _ sw
Aufruf x x x x x

Diese Anweisung führt Folgendes aus:

  1. Pushadresse der nächsten Anweisung an den Rückgabeadressenstapel.
  2. Setzen Sie die Ausführung über die anweisung fort, die durch die Bezeichnung markiert ist.

In Vertex-Shader 2 _ 0 sind Schachtelungsaufrufe nicht zulässig.

In Vertexshader 2 x wird die Schachtelungstiefe durch das _ StaticFlowControlDepth-Element der D3DVSHADERCAPS2 _ 0-Struktur eingeschränkt. Weitere Informationen finden Sie unter GetDeviceCaps.

In Vertex-Shader 3 _ 0 sind vier Ebenen der Aufrufschachtelung zulässig.

Nur Forward-Aufrufe sind zulässig. Dies bedeutet, dass sich die Position der Bezeichnung im Vertex-Shader hinter der Aufrufen-Anweisung befinden sollte, auf die sie verweisen.

Wenn eine Aufrufanweisung innerhalb der Schleife aufgerufen wird... endloop-Block: Der Wert des Loop Counter Register (aL) ist innerhalb der Unterroutine zugänglich.

Wenn eine Unterroutine auf das Schleifenzählerregister (Loop Counter Register, aL) außerhalb der Unterroutine verweisen, sollte jede Instanz des Aufrufs dieser Unterroutine von einer Schleife umgeben sein... endloop-Block.

Vertex-Shader-Anweisungen