breakc (sm4 - asm)
Verschiebt den Ausführungspunkt bedingt in die Anweisung nach der nächsten Endschleife oder dem nächsten Endswitch.
breakc{_z|_nz} src0.select_component |
---|
Element | BESCHREIBUNG |
---|---|
src0 |
[in] Die Komponente, für die die Bedingung getestet werden soll. |
Bemerkungen
Das Tokenformat enthält zur Vereinfachung den Offset der entsprechenden Endloop-Anweisung im Shader.
Das folgende Beispiel zeigt diebreakc-Anweisung .
loop
// example of termination condition
breakc_z r0.x // break if all bits in r0.x are 0
breakc_nz r1.x // break if any bit in r1.x is nonzero
...
endloop
Diese Anweisung muss in einer Schleifenendschleife/ oder einemSwitch-Endswitch/ angezeigt werden.
Das von src0 bereitgestellte 32-Bit-Register wird auf Bitebene getestet. Wenn ein Bit ungleich null ist, führt breakc_nz die Unterbrechung aus. Wenn alle Bits null sind, führt breakc_z die Unterbrechung durch.
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 |