ps_2_x Register

Pixelshader sind von Registern abhängig, um Vertexdaten abzurufen, Pixeldaten auszugeben, temporäre Ergebnisse während Berechnungen zu speichern und Textursamplingphasen zu identifizieren. Es gibt mehrere Arten von Registern mit jeweils eindeutigen Funktionen. Dieser Abschnitt enthält Referenzinformationen zu den Eingabe- und Ausgaberegistern, die von der Pixelshaderversion 2_x implementiert werden.

Eingaberegistertypen

Registrieren Name Anzahl R/W # Lesen von Ports # Reads/inst Dimension RelAddr Standardeinstellungen Erfordert DCL
V # Eingabefarbregister 2 R 1 Unbegrenzt 4 N Teil(0001). Siehe Hinweis 4 J
R # Temporäres Register Siehe Hinweis 1 R/W 3 Unbegrenzt 4 N Keine N
C# Konstanter Float-Register 32 R 1 2 4 N 0000 N
Ich # Konstanter ganzzahliger Register 16 Siehe Hinweis 2 1 1 4 N 0000 N
B # Boolesches Konstantenregister 16 Siehe Hinweis 2 1 1 1 N FALSE N
p0 Prädikatregister 1 Siehe Hinweis 2 1 1 1 N Keine J
s # Sampler (Direct3D 9 asm-ps) 16 Siehe Hinweis 3 1 1 4 N Siehe Hinweis 5 J
T # Texturkoordinatenregister 8 R 1 1 4 N Keine J

 

Hinweise:

  1. 12 min/32 max: Die Anzahl der r#-Register wird durch D3DPSHADERCAPS2_0.NumTemps (von 12 bis 32) bestimmt.
  2. Kann nur durch eine Flusssteuerungsanweisung verwendet werden.
  3. Kann nur durch eine Textur-Sampling-Anweisung verwendet werden.
  4. partial(x, y, z, w): Wenn nur eine Teilmenge von Kanälen im Register aktualisiert wird, werden die übrigen Kanäle standardmäßig auf die angegebenen Werte (x, y, z, w) aktualisiert.
  5. Standardwerte für Samplersuche sind vorhanden, werte hängen jedoch vom Texturformat ab.

Die Anzahl der Leseports ist die Anzahl der verschiedenen Register (für jeden Registertyp), die in einer einzigen Anweisung gelesen werden können.

Ausgaberegistertypen

Registrieren Name Anzahl R/W Dimension RelAddr Standardeinstellungen Erfordert DCL
Oc # Ausgabefarbregister Siehe Texturen mit mehreren Elementen (Direct3D 9) W 4 N Keine N
oDepth Ausgabetieferegister 1 W 1 N Keine N

 

Register