ps _ 2 _ 0 Register

Pixel-Shader sind von Registern abhängig, um Scheitelpunktdaten abzurufen, Pixeldaten auszugeben, temporäre Ergebnisse bei Berechnungen zu speichern und Textursamplingstufen 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 Version 2 x des Pixelshader implementiert _ werden.

Eingaberegistertypen

Registrieren Name Anzahl R/W # Leseports # Lese-/Inst-Lesefunktionen Dimension RelAddr Standardeinstellungen Erfordert DCL
v# Eingabefarbregister 2 R 1 Unbegrenzt 4 N Partial(0001). Siehe Hinweis 4 J
R# Temporäres Register Siehe Hinweis 1 R/W 3 Unbegrenzt 4 N Keine N
c# Constant Float Register 32 R 1 2 4 N 0000 N
Ich# Constant Integer Register 16 Siehe Hinweis 2 1 1 4 N 0000 N
b# Constant Boolean 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. Max. 12 Min./32: Die Anzahl der # r-Register wird durch D3DPSHADERCAPS2 _ 0.NumTemps (zwischen 12 und 32) bestimmt.
  2. Kann nur von einer Flusssteuerungsanweisung verwendet werden.
  3. Kann nur von einer Textursamplinganweisung verwendet werden.
  4. partial(x, y, z, w): Wenn nur eine Teilmenge der Kanäle im Register aktualisiert wird, werden für die verbleibenden Kanäle standardmäßig die angegebenen Werte (x, y, z, w) verwendet.
  5. Die 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 einzelnen 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