retc (sm4 – asm)

Retorno condicional.

src0.select_component retc{_z|_nz}
Item Descrição
src0
[in] O registro no qual testar a condição.

Comentários

Se estiver em uma sub-rotina, essa instrução retornará condicionalmente à instrução após a chamada. Se não estiver dentro de uma sub-rotina, esta instrução encerrará a execução do programa.

O exemplo a seguir mostra como usar esta instrução.

           ...
           call l3
           ...
           ret
           label l3
               ...
               retc_nz r0.x  // If any bit in r0.x is nonzero, then return
               retc_z  r1.x  // If all bits in r0.x are zero, then return.
               ...
           ret

Restrições

  • retc pode aparecer em qualquer lugar em um programa, qualquer número de vezes.
  • A última instrução em um programa de main ou sub-rotina não pode ser uma retc_z ou retc_nz. Em vez disso, o ret incondicional pode ser usado.
  • O registro de 32 bits fornecido pelo src0 é testado em um nível de bit. Se algum bit for diferente de zero, ret_nz retornará. Se todos os bits forem zero, retc_z retornará.

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

Assembly do Modelo de Sombreador 4 (DirectX HLSL)