ps_2_0 Register

Pixel-Shader sind von Registern abhängig, um Vertexdaten abzurufen, Pixeldaten auszugeben, temporäre Ergebnisse während berechnungen zu speichern und Texturstichproben zu identifizieren. Es gibt mehrere Arten von Registern, die jeweils eine eindeutige Funktionalität aufweisen. Dieser Abschnitt enthält Referenzinformationen zu den Eingabe- und Ausgaberegistern, die von der Pixel-Shaderversion 2_x implementiert werden.

Eingaberegistertypen

Registrieren Name Anzahl R/W # Leseports # Lesevorgänge/Inst Dimension RelAddr Standardeinstellungen Erfordert DCL
V # Eingabefarbregister 2 R 1 Unbegrenzt 4 N Partielle(0001). Siehe Hinweis 4 J
R # Temporäre Registrierung 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 Ganzzahlregister 16 Siehe Hinweis 2 1 1 4 N 0000 N
B # Boolesche Konstantes Register 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