retc (sm4 - asm)

Bedingte Rückgabe.

retc{_z|_nz} src0.select_component
Element Beschreibung
src0
[in] Das Register, mit dem die Bedingung getestet werden soll.

Bemerkungen

Wenn innerhalb einer Unterroutine, kehrt diese Anweisung nach dem Aufruf bedingt zur Anweisung zurück. Wenn nicht innerhalb einer Unterroutine, beendet diese Anweisung die Programmausführung.

Das folgende Beispiel zeigt, wie Sie diese Anweisung verwenden.

           ...
           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

Beschränkungen

  • retc kann beliebig oft überall in einem Programm angezeigt werden.
  • Die letzte Anweisung in einem Standard Programm oder Unterprogramm darf keine retc_z oder retc_nz sein. Stattdessen kann die bedingungslose ret verwendet werden.
  • Das von src0 bereitgestellte 32-Bit-Register wird auf Bitebene getestet. Wenn ein Bit nichtzero ist, wird ret_nz zurückgegeben. Wenn alle Bits 0 sind, wird retc_z zurückgegeben.

Diese Anweisung gilt für die folgenden Shaderphasen:

Vertexshader Geometrie-Shader Pixelshader
x x x

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 ja
Shadermodell 4 ja
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Shadermodell 4-Assembly (DirectX HLSL)