call (sm4 - asm)
Вызывает подпрограмму, помеченную тем, где в программе отображается метка l# .
call l # |
---|
Элемент | Описание |
---|---|
L # |
[in] Метка подпрограммы. |
Комментарии
При обнаружении ret верните выполнение инструкции после этого вызова.
Формат маркера для удобства содержит смещение соответствующей метки в шейдере.
В следующем примере показана инструкция вызова.
...
call l3
...
ret
label l3
...
retc_nz r0.x
...
ret
Ограничения
- Подпрограммы могут вложить 32 в глубину.
- Реализация прозрачно управляет возвращаемым стеком адресов.
- Если в стеке обратных адресов уже есть 32 записи и выполняется вызов , вызов пропускается.
- Автоматический стек параметров отсутствует. Приложение может использовать индексируемый временный массив регистров (x#[]) для реализации стека вручную. Однако обратные адреса вызова подпрограммы не видны и являются ортогональными для любого ручного управления стеком, выполняемого приложением.
- Индексирование параметра l# запрещено.
- Рекурсия не разрешена.
Эта инструкция применяется к следующим этапам шейдера:
Вершинный построитель текстуры | Шейдер геометрии | Построитель текстуры |
---|---|---|
x | x | x |
Минимальная модель шейдера
Эта функция поддерживается в следующих моделях шейдеров.
Модель шейдера | Поддерживается |
---|---|
Модель шейдера 5 | да |
Модель шейдера 4.1 | да |
Модель шейдера 4 | да |
Модель шейдера 3 (DirectX HLSL) | нет |
Модель шейдера 2 (DirectX HLSL) | нет |
Модель шейдера 1 (DirectX HLSL) | нет |