breakc (sm4 - asm)
Verschiebt den Ausführungspunkt bedingt in die -Anweisung nach dem nächsten Endloop oder endswitch.
| breakc{ _ z|_nz} src0.select-Komponente _ |
|---|
| Element | Beschreibung |
|---|---|
| src0 |
[in ] Die Komponente, für die die Bedingung zu testen ist. |
Hinweise
Das Tokenformat enthält der Einfachheit halber den Offset der entsprechenden Endloopanweisung im Shader.
Das folgende Beispiel zeigt die Breakc-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 einem Switch / endswitch angezeigt werden.
Das von src0 bereitgestellte 32-Bit-Register wird auf Bitebene getestet. Wenn ein Bit ungleich 0 (null) ist, führt breakc _ nz die Unterbrechung aus. Wenn alle Bits 0 (null) sind, führt breakc _ z die Unterbrechung aus.
Diese Anweisung gilt für die folgenden Shaderstufen:
| 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 |