loop - vs

启动循环...endloop 块。

语法

loop aL、i#

 

其中:

备注

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

 

  • 循环计数器寄存器 (aL) 保存当前循环计数,可用于相对寻址到循环块内的常量整数寄存器 (c#) 或输出寄存器 (o#) 。
  • i#.x 指定迭代计数。 法定范围为 [0, 255]。 请注意,此指令不会递增或递减 i#.x 的值。
  • i#.y 指定 循环计数器寄存器 (aL) 寄存器的初始值。 法定范围为 [0, 255]。 请注意,此指令不会递增或递减 i#.y 的值。
  • i#.z 指定步长/步幅大小。 法定范围为 [-128, 127]。
  • 不使用 i#.w,并且必须设置为 0。
  • 循环块可以嵌套。 请参阅 流控制嵌套限制
  • 嵌套时, 循环计数器寄存器 (aL) 的值引用直接封闭循环块。
  • 允许循环块完全位于 if* 块内或完全围绕它。 不允许跨行。

示例

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

顶点着色器说明