call - vs
Выполняет вызов функции инструкции, помеченной предоставленной меткой.
Синтаксис
call l # |
---|
где l# — это метка, помечая начало вызываемой подпрограммы.
Комментарии
Версии вершинного шейдера | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
вызывает | x | x | x | x | x |
Эта инструкция выполняет следующие действия.
- Отправьте адрес следующей инструкции в возвращаемый стек адресов.
- Продолжите выполнение из инструкции, помеченной меткой .
В вершинном шейдере 2_0 вложенные вызовы не допускаются.
В 2_x вершинных шейдеров глубина вложенности ограничена элементом StaticFlowControlDepth структуры D3DVSHADERCAPS2_0 . Дополнительные сведения см. в разделе GetDeviceCaps.
В вершинном шейдере 3_0 допускаются четыре уровня вложенности вызовов.
Разрешены только переадресные вызовы. Это означает, что расположение метки внутри вершинного шейдера должно быть после инструкции вызова, ссылающейся на нее.
Если инструкция вызова вызывается внутри цикла... блок endloop , значение регистра счетчика цикла (aL) доступно внутри подпрограммы.
Если подпрограмма ссылается на регистр счетчика цикла (aL), расположенный за пределами подпрограммы, каждый экземпляр вызова этой подпрограммы должен быть заключен в цикл... блок endloop .
Связанные темы