call - vs

Realiza una llamada de función a la instrucción marcada con la etiqueta proporcionada.

Sintaxis

call l #

 

donde l# es una etiqueta: frente a marcar el principio de la subrutina a la que se va a llamar.

Comentarios

Versiones del sombreador de vértices 1_1 2_0 2_x 2_sw 3_0 3_sw
llamada x x x x x

 

Esta instrucción hace lo siguiente:

  1. Dirección de inserción de la siguiente instrucción a la pila de direcciones de devolución.
  2. Continúe la ejecución desde la instrucción marcada por la etiqueta .

En el sombreador de vértices 2_0, no se permiten llamadas de anidamiento.

En el sombreador de vértices 2_x, la profundidad de anidamiento está limitada por el elemento StaticFlowControlDepth de la estructura D3DVSHADERCAPS2_0 . Para obtener más información, vea GetDeviceCaps.

En el sombreador de vértices 3_0, se permiten cuatro niveles de anidamiento de llamadas.

Solo se permiten llamadas reenviadas. Esto significa que la ubicación de la etiqueta dentro del sombreador de vértices debe ser después de que la instrucción de llamada haga referencia a ella.

Si se invoca una instrucción de llamada dentro del bucle... bloque endloop , el valor del registro de contadores de bucles (aL) es accesible dentro de la subrutina.

Si una subrutina hace referencia al registro de contadores de bucles (aL) situado fuera de la subrutina, todas las instancias de la llamada a esta subrutina deben estar rodeadas por un bucle... bloque endloop .

Instrucciones del sombreador de vértices