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 |