call - vs

对用提供的标签标记的指令执行函数调用。

语法

调用 l#

 

其中 l# 是 一个标签 - 与 标记要调用的子例程的开头。

备注

顶点着色器版本 1_1 2_0 2_x 2_sw 3_0 3_sw
call x x x x x

 

此指令执行以下操作:

  1. 将下一指令的地址推送到返回地址堆栈。
  2. 继续从标签标记的指令执行。

在顶点着色器 2_0 中,不允许嵌套调用。

在顶点着色器2_x中,嵌套深度受 D3DVSHADERCAPS2_0 结构的 StaticFlowControlDepth 元素的限制。 有关详细信息,请参阅 GetDeviceCaps

在顶点着色器 3_0 中,允许四个级别的调用嵌套。

仅允许转接调用。 这意味着标签在顶点着色器中的位置应位于引用它的调用指令之后。

如果在 循环中调用调用指令...endloop 块, 循环计数器寄存器 (aL) 的值可在子例程中访问。

如果子例程引用位于子例程外部的 循环计数器寄存器 (aL) ,则对此子例程调用的每个实例都应被 循环包围...endloop 块。

顶点着色器说明