Поделиться через


цикл — и

Запуск цикла... блок endloop .

Синтаксис

loop aL, i #

 

Где:

Remarks

Версии вершинного шейдера 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

Инструкции по вершинным шейдерам