call - vs

Executa uma chamada de função para a instrução marcada com o rótulo fornecido.

Sintaxe

call l #

 

em que l# é um rótulo – versus marcando o início da sub-rotina a ser chamada.

Comentários

Versões do sombreador de vértice 1_1 2_0 2_x 2_sw 3_0 3_sw
chamada x x x x x

 

Esta instrução faz o seguinte:

  1. Endereço por push da próxima instrução para a pilha de endereços de retorno.
  2. Continue a execução da instrução marcada pelo rótulo.

No sombreador de vértice 2_0, chamadas de aninhamento não são permitidas.

No sombreador de vértice 2_x, a profundidade de aninhamento é limitada pelo elemento StaticFlowControlDepth da estrutura D3DVSHADERCAPS2_0 . Para obter mais informações, consulte GetDeviceCaps.

No sombreador de vértice 3_0, quatro níveis de aninhamento de chamadas são permitidos.

Somente chamadas de encaminhamento são permitidas. Isso significa que o local do rótulo dentro do sombreador de vértice deve ser após a instrução de chamada referenciando-o.

Se uma instrução de chamada for invocada dentro do loop... bloco endloop , o valor do Registro de Contador de Loop (aL) é acessível dentro da sub-rotina.

Se uma sub-rotina estiver fazendo referência ao Registro de Contador de Loop (aL) localizado fora da sub-rotina, cada instância da chamada para essa sub-rotina deverá estar cercada por um loop... bloco endloop .

Instruções de sombreador de vértice