call (sm4 – asm)
Chama uma sub-rotina marcada pelo local em que o rótulo l# aparece no programa.
chamar l # |
---|
Item | Descrição |
---|---|
L # |
[in] O rótulo da sub-rotina. |
Comentários
Quando um ret for encontrado, retorne a execução para a instrução após essa chamada.
O formato de token contém o deslocamento do rótulo correspondente no Sombreador como uma conveniência.
O exemplo a seguir mostra a instrução de chamada.
...
call l3
...
ret
label l3
...
retc_nz r0.x
...
ret
Restrições
- As sub-rotinas podem aninhar 32 de profundidade.
- A pilha de endereços de retorno é gerenciada de forma transparente pela implementação.
- Se já houver 32 entradas na pilha de endereços de retorno e uma chamada for emitida, a chamada será ignorada.
- Não há pilha automática de parâmetros. O aplicativo pode usar uma matriz de registro temporário indexável (x#[]) para implementar manualmente uma pilha. No entanto, os endereços de retorno de chamada de sub-rotina não são visíveis e são ortogonais para qualquer gerenciamento de pilha manual feito pelo aplicativo.
- A indexação do parâmetro l# não é permitida.
- A recursão não é permitida.
Esta instrução se aplica aos seguintes estágios de sombreador:
Sombreador de vértice | Sombreador de geometria | Sombreador de pixel |
---|---|---|
x | x | x |
Modelo de sombreador mínimo
Essa função tem suporte nos modelos de sombreador a seguir.
Modelo de Sombreador | Com suporte |
---|---|
Modelo de sombreador 5 | sim |
Modelo de sombreador 4.1 | sim |
Modelo de sombreador 4 | sim |
Modelo de sombreador 3 (DirectX HLSL) | não |
Modelo de sombreador 2 (DirectX HLSL) | não |
Modelo de sombreador 1 (DirectX HLSL) | não |