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

Assembly des Shadermodells 4 (DirectX HLSL)