Freigeben über


anruf – vs

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

Syntax

call l #

 

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

Bemerkungen

Vertexshaderversionen 1_1 2_0 2_x 2_sw 3_0 3_sw
Aufruf x x x x x

 

Mit dieser Anweisung wird Folgendes ausgeführt:

  1. Pushadresse der nächsten Anweisung in den Rückgabeadressstapel.
  2. Setzen Sie die Ausführung über die Anweisung fort, die durch die Bezeichnung gekennzeichnet ist.

In Vertex shader 2_0 sind Schachtelungsaufrufe nicht zulässig.

In vertex shader 2_x wird die Schachtelungstiefe durch das StaticFlowControlDepth-Element der D3DVSHADERCAPS2_0-Struktur beschränkt. Weitere Informationen finden Sie unter GetDeviceCaps.

Im Vertex-Shader 3_0 sind vier Ebenen der Aufrufschachtelung zulässig.

Nur Weiterleitungsanrufe sind zulässig. Dies bedeutet, dass die Position der Bezeichnung innerhalb des Vertexshaders nach der Aufrufanweisung sein sollte, die darauf verweist.

Wenn eine Aufrufanweisung innerhalb der Schleife aufgerufen wird... Endloop-Block , der Wert des Schleifenzählerregisters (aL) ist innerhalb der Unterroutine zugänglich.

Wenn eine Unterroutine auf das Schleifenzählerregister (aL) verweist, das sich außerhalb der Unterroutine befindet, sollte jede instance des Aufrufs dieser Subroutine von einer Schleife umgeben sein... Endloop-Block.

Anweisungen zum Vertex-Shader