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

Shader Model 4-Assembly (DirectX HLSL)