call (sm4 - asm)

Llama a una subrutina marcada por donde aparece la etiqueta l# en el programa.

call l #
Elemento Descripción
L #
[in] Etiqueta de la subrutina.

Observaciones

Cuando se encuentra un ret , devuelva la ejecución a la instrucción después de esta llamada.

El formato de token contiene el desplazamiento de la etiqueta correspondiente en el sombreador como comodidad.

En el ejemplo siguiente se muestra la instrucción de llamada.

                ...
                call l3
                ...
                ret
                label l3
                    ...
                    retc_nz r0.x
                    ...
                ret

Restricciones

  • Las subrutinas pueden anidar 32 profundidades.
  • La implementación administra la pila de direcciones de devolución de forma transparente.
  • Si ya hay 32 entradas en la pila de direcciones de devolución y se emite una llamada , se omite la llamada.
  • No hay ninguna pila de parámetros automática. La aplicación puede usar una matriz de registro temporal indizable (x#[]) para implementar manualmente una pila. Sin embargo, las direcciones de devolución de llamada de subrutina no son visibles y son ortogonales para cualquier administración manual de pila realizada por la aplicación.
  • No se permite la indexación del parámetro l# .
  • No se permite la recursividad.

Esta instrucción se aplica a las siguientes fases del sombreador:

Sombreador de vértices Sombreador de geometría Sombreador de píxeles
x x x

Modelo de sombreador mínimo

Esta función se admite en los siguientes modelos de sombreador.

Modelo de sombreador Compatible
Modelo de sombreador 5
Modelo de sombreador 4.1
Modelo de sombreador 4
Modelo de sombreador 3 (DirectX HLSL) no
Modelo de sombreador 2 (DirectX HLSL) no
Modelo de sombreador 1 (DirectX HLSL) no

Ensamblado del modelo de sombreador 4 (DirectX HLSL)