anweisungen ps_3_0
Dieser Abschnitt enthält Referenzinformationen für die Pixel-Shader-Anweisungen der Version 3_0.
Es gibt verschiedene Arten von Pixel-Shaderanweisungen, wie in der Tabelle gezeigt. Spalten auf der rechten Seite bedeuten Folgendes:
- Befehlsslots: Anzahl der von jeder Anweisung verwendeten Befehlsslots.
- Setup: Ein Pixel-Shader muss über eine Versionsanweisung verfügen und die erste Anweisung sein.
- Arithmetik: Diese Anweisungen stellen die mathematischen Vorgänge in einem Shader bereit.
- Textur: Diese Anweisungen werden verwendet, um Texturdaten zu laden und zu samplen sowie Texturkoordinaten zu ändern.
- Ablaufsteuerung: Diese Anweisungen bieten statische und dynamische Flusssteuerung für die Ausführung von Anweisungen.
- Neu: Diese Anweisungen sind neu in dieser Version.
Instruktionssatz
Name | BESCHREIBUNG | Anweisungsslots | Einrichten | Arithmetik | Struktur | Flusssteuerung | Neu |
---|---|---|---|---|---|---|---|
abs – ps | Absoluter Wert | 1 | x | ||||
add – ps | Hinzufügen von zwei Vektoren | 1 | x | ||||
break – ps | Aus einer Schleife ausbrechen... Endloop oder Rep... Endrep-Block | 1 | x | ||||
break_comp - ps | Bedingter Ausbruch aus einer Schleife... Endloop oder Rep... endrep-Block mit einem Vergleich | 3 | x | ||||
breakp – ps | aus einer Schleife ausbrechen... Endloop oder Rep... endrep-Block, basierend auf einem Prädikat | 3 | x | ||||
call – ps | Aufrufen einer Unterroutine | 2 | x | ||||
callnz bool - ps | Aufrufen einer Unterroutine, wenn ein boolesches Register nicht 0 ist | 3 | x | ||||
callnz pred – ps | Aufrufen einer Unterroutine, wenn ein Prädikatregister nicht 0 ist | 3 | x | ||||
cmp – ps | Quelle mit 0 vergleichen | 1 | x | ||||
crs – ps | Produktübergreifend | 2 | x | ||||
dcl_samplerType (sm2, sm3 – ps asm) | Deklarieren der Texturdimension für einen Sampler | 0 | x | ||||
dcl_semantics (sm3 – ps asm) | Deklarieren von Eingabe- und Ausgaberegistern | 0 | x | x | |||
def – ps | Definieren von Konstanten | 0 | x | ||||
defb – ps | Definieren einer booleschen Konstante | 0 | x | ||||
defi – ps | Definieren einer ganzzahligen Konstanten | 0 | x | ||||
dp2add – ps | 2D dot product and add | 2 | x | ||||
dp3 – ps | 3D-Punktprodukt | 1 | x | ||||
dp4 – ps | 4D-Punktprodukt | 1 | x | ||||
dsx – ps | Veränderungsrate in x-Richtung | 2 | x | ||||
dsy – ps | Veränderungsrate in y-Richtung | 2 | x | ||||
else – ps | Starten eines Else-Blocks | 1 | x | ||||
endif – ps | Beenden Sie einen, wenn... Else-Block | 1 | x | ||||
endloop – ps | Beenden einer Schleife | 2 | x | x | |||
endrep – ps | Ende eines Wiederholungsblocks | 2 | x | ||||
exp - ps | Volle Genauigkeit 2x | 1 | x | ||||
frc – ps | Bruchkomponente | 1 | x | ||||
if bool - ps | Starten eines if-Blocks | 3 | x | ||||
if_comp – ps | Starten eines if-Blocks mit einem Vergleich | 3 | x | ||||
if pred - ps | Starten eines if-Blocks mit Prädication | 3 | x | ||||
label – ps | Bezeichnung | 0 | x | ||||
log – ps | Log₂(x) mit voller Genauigkeit | 1 | x | ||||
Schleife – ps | Loop | 3 | x | x | |||
lrp – ps | Lineares Interpolat | 2 | x | ||||
m3x2 – ps | 3x2 multiplizieren | 2 | x | ||||
m3x3 – ps | 3x3 multiplizieren | 3 | x | ||||
m3x4 – ps | 3x4 multiplizieren | 4 | x | ||||
m4x3 – ps | 4x3 multiplizieren | 3 | x | ||||
m4x4 – ps | 4x4 multiplizieren | 4 | x | ||||
mad - ps | Multiplizieren und Hinzufügen | 1 | x | ||||
max – ps | Maximum | 1 | x | ||||
min – ps | Minimum | 1 | x | ||||
mov – ps | Move | 1 | x | ||||
mul - ps | Multiplizieren | 1 | x | ||||
nop – ps | Keine Operation | 1 | x | ||||
nrm – ps | Normalize | 3 | x | ||||
pow – ps | xy | 3 | x | ||||
ps | Version | 0 | x | ||||
rcp – ps | Gegenseitige | 1 | x | ||||
rep – ps | Wiederholen | 3 | x | ||||
ret – ps | Ende einer Unterroutine | 1 | x | ||||
rsq – ps | Reziproke Quadratwurzel | 1 | x | ||||
setp_comp | Festlegen des Prädikatregisters | 1 | x | ||||
sincos – ps | Sinus und Kosinus | 8 | x | ||||
sub – ps | Subtrahieren | 1 | x | ||||
texkill – ps | Rendern von Pixeln beenden | 2 | x | ||||
texld – ps_2_0 und höher | Beispiel für eine Textur | Siehe Hinweis 1 | x | ||||
texldb – ps | Textursampling mit Level-of-Detail-Bias von w-component | 6 | x | ||||
texldl - ps | Textursampling mit Detailebene von w-component | Siehe Hinweis 2 | x | x | |||
texldd – ps | Textursampling mit vom Benutzer bereitgestellten Farbverläufen | 3 | x | ||||
texldp – ps | Textursampling mit projektiver Division nach w-Komponente | Siehe Hinweis 3 | x |
Hinweise:
- Wenn die Textur eine Würfelzuordnung ist, slots = 4; andernfalls Slots = 1.
- Wenn die Textur eine Würfelkarte ist, slots = 5; andernfalls Slots = 2.
- Wenn die Textur eine Würfelzuordnung ist, slots = 4; andernfalls Slots = 3.
Zugehörige Themen