Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anweisungen zur Vertex-Shaderflusssteuerung weisen zwei spezielle Einschränkungen auf. Schachtelungstiefe schränkt die Anzahl der Anweisungen ein, die innerhalb des anderen aufgerufen werden können. Darüber hinaus verfügt jede Anweisung über eine Anweisungsplatzanzahl, die für die maximale Anzahl von Anweisungen gilt, die ein Shader unterstützen kann.
Anmerkung
Wenn Sie die HLSL-Shaderprofile *_4_0_level_9_x verwenden, verwenden Sie implizit die Shadermodell 2.x Profile, um Direct3D 9-fähige Hardware zu unterstützen. Shadermodell 2.x-Profile unterstützen ein eingeschränktes Ablaufsteuerungsverhalten als das Shadermodell 4.x und neuere Profile.
Tiefenanzahl pro Anweisung für vs_2_0
Jede Anweisung zählt für mindestens ein Schachtelungstiefelimit. Diese Tabelle zeigt die Tiefenanzahl, die jede Anweisung der vorhandenen Tiefe hinzufügt oder subtrahiert:
Anweisung | Statische Schachtelung | Dynamische Schachtelung | Schleifen-/Rep-Schachtelung | Anrufschachtelung | Anzahl statischer Fluss |
---|---|---|---|---|---|
, wenn bool - vs | 0 | 0 | 0 | 0 | 1 |
if_comp – vs | n/a | n/a | n/a | n/a | n/a |
, falls vorhanden – vs | n/a | n/a | n/a | n/a | n/a |
andernfalls – vs | 0 | 0 | 0 | 0 | 1(, wenn bool - vs only) |
Endif - vs | -1 | 0 | 0 | 0 | 0 |
Rep - vs | 0 | 0 | 1 | 0 | 1 |
Endrep - vs | 0 | 0 | -1 | 0 | 0 |
Schleife – vs | 0 | 0 | 1 | 0 | 1 |
Endloop - vs | 0 | 0 | -1 | 0 | 0 |
Pause – vs | n/a | n/a | n/a | n/a | n/a |
break_comp – vs | n/a | n/a | n/a | n/a | n/a |
Breakp – vs | n/a | n/a | n/a | n/a | n/a |
Anruf – vs | 0 | 0 | 0 | 1 | 1 |
callnz bool - vs | 0 | 0 | 0 | 1 | 1 |
callnz pred – vs | n/a | n/a | n/a | n/a | n/a |
Ret - vs | 0 | 0 | 0 | -1 | 0 |
setp_comp – vs | n/a | n/a | n/a | n/a | n/a |
Schachtelungstiefe
Die Schachtelungstiefe definiert, wie viele Anweisungen ineinander aufgerufen werden können. Jeder Anweisungstyp weist mindestens einen Schachtelungsgrenzwert auf:
Anweisungstyp | Maximum |
---|---|
Statische Schachtelung | Nur begrenzt durch die Anzahl statischer Flusse |
Dynamische Schachtelung | n/a |
Schleifen-/Rep-Schachtelung | 1 |
Anrufschachtelung | 1 |
Anzahl statischer Fluss | 16 |
Tiefenanzahl pro Anweisung für vs_2_x
Jede Anweisung zählt für mindestens ein Schachtelungstiefelimit. Diese Tabelle zeigt die Tiefenanzahl, die jede Anweisung der vorhandenen Tiefe hinzufügt oder subtrahiert:
Anweisung | Statische Schachtelung | Dynamische Schachtelung | Schleifen-/Rep-Schachtelung | Anrufschachtelung | Anzahl statischer Fluss |
---|---|---|---|---|---|
, wenn bool - vs | 1 | 0 | 0 | 0 | 1 |
if_comp – vs | 0 | 1 | 0 | 0 | 0 |
, falls vorhanden – vs | 0 | 1 | 0 | 0 | 0 |
andernfalls – vs | 0 | 0 | 0 | 0 | 1(, wenn bool - vs only) |
Endif - vs | -1(wenn bool - vs) | -1(, wenn pred - vs oder if_comp - vs) | 0 | 0 | 0 |
Rep - vs | 0 | 0 | 1 | 0 | 1 |
Endrep - vs | 0 | 0 | -1 | 0 | 0 |
Schleife – vs | 0 | 0 | 1 | 0 | 1 |
Endloop - vs | 0 | 0 | -1 | 0 | 0 |
Pause – vs | 0 | 0 | 0 | 0 | 0 |
break_comp – vs | 0 | 1, -1 | 0 | 0 | 0 |
Breakp – vs | 0 | 0 | 0 | 0 | 0 |
Anruf – vs | 0 | 0 | 0 | 1 | 1 |
callnz bool - vs | 0 | 0 | 0 | 1 | 1 |
callnz pred – vs | 0 | 1 | 0 | 1 | 0 |
Ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | 0 |
setp_comp – vs | 0 | 0 | 0 | 0 | 0 |
Schachtelungstiefe
Die Schachtelungstiefe definiert, wie viele Anweisungen ineinander aufgerufen werden können. Jeder Anweisungstyp weist mindestens einen Schachtelungsgrenzwert auf:
Anweisungstyp | Maximum |
---|---|
Statische Schachtelung | Nur begrenzt durch die Anzahl statischer Flusse |
Dynamische Schachtelung | 0 oder 24, siehe D3DCAPS9. VS20Caps.DynamicFlowControlDepth |
Schleifen-/Rep-Schachtelung | 1 bis 4 siehe D3DCAPS9. VS20Caps.StaticFlowControlDepth |
Anrufschachtelung | 1 bis 4 siehe D3DCAPS9. VS20Caps.StaticFlowControlDepth (unabhängig von Schleifen-/Rep-Grenzwert) |
Anzahl statischer Fluss | 16 |
Tiefenanzahl pro Anweisung für vs_2_sw
Jede Anweisung zählt für mindestens ein Schachtelungstiefelimit. Diese Tabelle zeigt die Tiefenanzahl, die jede Anweisung der vorhandenen Tiefe hinzufügt oder subtrahiert:
Anweisung | Statische Schachtelung | Dynamische Schachtelung | Schleifen-/Rep-Schachtelung | Anrufschachtelung | Anzahl statischer Fluss |
---|---|---|---|---|---|
, wenn bool - vs | 1 | 0 | 0 | 0 | n/a |
if_comp – vs | 0 | 1 | 0 | 0 | n/a |
, falls vorhanden – vs | 0 | 1 | 0 | 0 | n/a |
andernfalls – vs | 0 | 0 | 0 | 0 | n/a |
Endif - vs | -1(wenn bool - vs) | -1(, wenn pred - vs oder if_comp - vs) | 0 | 0 | n/a |
Rep - vs | 0 | 0 | 1 | 0 | n/a |
Endrep - vs | 0 | 0 | -1 | 0 | n/a |
Schleife – vs | 0 | 0 | 1 | 0 | n/a |
Endloop - vs | 0 | 0 | -1 | 0 | n/a |
Pause – vs | 0 | 0 | 0 | 0 | n/a |
break_comp – vs | 0 | 1, -1 | 0 | 0 | n/a |
Breakp – vs | 0 | 0 | 0 | 0 | n/a |
Anruf – vs | 0 | 0 | 0 | 1 | n/a |
callnz bool - vs | 0 | 0 | 0 | 1 | n/a |
callnz pred – vs | 0 | 1 | 0 | 1 | n/a |
Ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | n/a |
setp_comp – vs | 0 | 0 | 0 | 0 | n/a |
Schachtelungstiefe
Die Schachtelungstiefe definiert, wie viele Anweisungen ineinander aufgerufen werden können. Jeder Anweisungstyp weist mindestens einen Schachtelungsgrenzwert auf:
Anweisungstyp | Maximum |
---|---|
Statische Schachtelung | 24 |
Dynamische Schachtelung | 24 |
Schleifen-/Rep-Schachtelung | 4 |
Anrufschachtelung | 4 |
Anzahl statischer Fluss | Kein Grenzwert |
Tiefenanzahl pro Anweisung für vs_3_0
Jede Anweisung zählt für mindestens ein Schachtelungstiefelimit. Diese Tabelle zeigt die Tiefenanzahl, die jede Anweisung der vorhandenen Tiefe hinzufügt oder subtrahiert:
Anweisung | Statische Schachtelung | Dynamische Schachtelung | Schleifen-/Rep-Schachtelung | Anrufschachtelung | Anzahl statischer Fluss |
---|---|---|---|---|---|
, wenn bool - vs | 1 | 0 | 0 | 0 | n/a |
if_comp – vs | 0 | 1 | 0 | 0 | n/a |
, falls vorhanden – vs | 0 | 1 | 0 | 0 | n/a |
andernfalls – vs | 0 | 0 | 0 | 0 | n/a |
Endif - vs | -1(wenn bool - vs) | -1(, wenn pred - vs oder if_comp - vs) | 0 | 0 | n/a |
Rep - vs | 0 | 0 | 1 | 0 | n/a |
Endrep - vs | 0 | 0 | -1 | 0 | n/a |
Schleife – vs | 0 | 0 | 1 | 0 | n/a |
Endloop - vs | 0 | 0 | -1 | 0 | n/a |
Pause – vs | 0 | 0 | 0 | 0 | n/a |
break_comp – vs | 0 | 1, -1 | 0 | 0 | n/a |
Breakp – vs | 0 | 0 | 0 | 0 | n/a |
Anruf – vs | 0 | 0 | 0 | 1 | n/a |
callnz bool - vs | 0 | 0 | 0 | 1 | n/a |
callnz pred – vs | 0 | 1 | 0 | 1 | n/a |
Ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | n/a |
setp_comp – vs | 0 | 0 | 0 | 0 | n/a |
Schachtelungstiefe
Die Schachtelungstiefe definiert, wie viele Anweisungen ineinander aufgerufen werden können. Jeder Anweisungstyp weist mindestens einen Schachtelungsgrenzwert auf:
Anweisungstyp | Maximum |
---|---|
Statische Schachtelung | 24 |
Dynamische Schachtelung | 24 |
Schleifen-/Rep-Schachtelung | 4 |
Anrufschachtelung | 4 |
Anzahl statischer Fluss | Kein Grenzwert |
Tiefenanzahl pro Anweisung für vs_3_sw
Jede Anweisung zählt für mindestens ein Schachtelungstiefelimit. Diese Tabelle zeigt die Tiefenanzahl, die jede Anweisung der vorhandenen Tiefe hinzufügt oder subtrahiert:
Anweisung | Statische Schachtelung | Dynamische Schachtelung | Schleifen-/Rep-Schachtelung | Anrufschachtelung | Anzahl statischer Fluss |
---|---|---|---|---|---|
, wenn bool - vs | 1 | 0 | 0 | 0 | n/a |
if_comp – vs | 0 | 1 | 0 | 0 | n/a |
, falls vorhanden – vs | 0 | 1 | 0 | 0 | n/a |
andernfalls – vs | 0 | 0 | 0 | 0 | n/a |
Endif - vs | -1(wenn bool - vs) | -1(, wenn pred - vs oder if_comp - vs) | 0 | 0 | n/a |
Rep - vs | 0 | 0 | 1 | 0 | n/a |
Endrep - vs | 0 | 0 | -1 | 0 | n/a |
Schleife – vs | 0 | 0 | 1 | 0 | n/a |
Endloop - vs | 0 | 0 | -1 | 0 | n/a |
Pause – vs | 0 | 0 | 0 | 0 | n/a |
break_comp – vs | 0 | 1, -1 | 0 | 0 | n/a |
Breakp – vs | 0 | 0 | 0 | 0 | n/a |
Anruf – vs | 0 | 0 | 0 | 1 | n/a |
callnz bool - vs | 0 | 0 | 0 | 1 | n/a |
callnz pred – vs | 0 | 1 | 0 | 1 | n/a |
Ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | n/a |
setp_comp – vs | 0 | 0 | 0 | 0 | n/a |
Schachtelungstiefe
Die Schachtelungstiefe definiert, wie viele Anweisungen ineinander aufgerufen werden können. Jeder Anweisungstyp weist mindestens einen Schachtelungsgrenzwert auf:
Anweisungstyp | Maximum |
---|---|
Statische Schachtelung | 24 |
Dynamische Schachtelung | 24 |
Schleifen-/Rep-Schachtelung | 4 |
Anrufschachtelung | 4 |
Anzahl statischer Fluss | Kein Grenzwert |
Verwandte Themen