call - vs
对用提供的标签标记的指令执行函数调用。
语法
调用 l# |
---|
其中 l# 是 一个标签 - 与 标记要调用的子例程的开头。
备注
顶点着色器版本 | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
call | x | x | x | x | x |
此指令执行以下操作:
- 将下一指令的地址推送到返回地址堆栈。
- 继续从标签标记的指令执行。
在顶点着色器 2_0 中,不允许嵌套调用。
在顶点着色器2_x中,嵌套深度受 D3DVSHADERCAPS2_0 结构的 StaticFlowControlDepth 元素的限制。 有关详细信息,请参阅 GetDeviceCaps。
在顶点着色器 3_0 中,允许四个级别的调用嵌套。
仅允许转接调用。 这意味着标签在顶点着色器中的位置应位于引用它的调用指令之后。
如果在 循环中调用调用指令...endloop 块, 循环计数器寄存器 (aL) 的值可在子例程中访问。
如果子例程引用位于子例程外部的 循环计数器寄存器 (aL) ,则对此子例程调用的每个实例都应被 循环包围...endloop 块。
相关主题