ps_2_x Anweisungen
Dieser Abschnitt enthält Referenzinformationen für die Pixelshaderversion 2_x Anweisungen.
Es gibt mehrere Arten von Pixelshaderanweisungen, wie in der Tabelle dargestellt. Spalten auf der rechten Seite bedeuten Folgendes:
- Anweisungsslots: Anzahl der von jeder Anweisung verwendeten Anweisungsslots.
- Setup: Ein Pixelshader muss über eine Versionsanweisung verfügen und die erste Anweisung sein.
- Arithmetik: Diese Anweisungen stellen die mathematischen Operationen in einem Shader bereit.
- Textur: Diese Anweisungen werden verwendet, um Texturdaten zu laden und abzutasten und Texturkoordinaten zu ändern.
- Ablaufsteuerung: Diese Anweisungen bieten statische und dynamische Flusssteuerung für die Ausführung von Anweisungen.
- Neu: Diese Anweisungen sind in dieser Version neu.
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 | Brechen Sie aus einem Rep... endrep-Block | 1 | x | x | |||
break_comp – ps | Bedingter Ausbruch eines Rep... endrep-Block mit einem Vergleich | 3 | x | x | |||
breakp – ps | Brechen Sie aus einem Rep... endrep-Block, basierend auf einem Prädikat | 3 | x | x | |||
call – ps | Aufrufen einer Unterroutine | 2 | x | x | |||
callnz bool – ps | Aufrufen einer Unterroutine, wenn ein boolesches Register nicht null ist | 3 | x | x | |||
callnz pred – ps | Aufrufen einer Unterroutine, wenn ein Prädikatregister nicht null ist | 3 | x | x | |||
cmp – ps | Vergleich der Quelle mit 0 | 1 | x | ||||
crs – ps | Produktübergreifend | 2 | x | ||||
dcl_samplerType (sm2, sm3 – ps asm) | Deklarieren der Texturdimension für einen Sampler | 0 | x | ||||
dcl - (sm2, sm3 - ps asm) | Deklarieren Sie die Zuordnung zwischen Vertexshaderausgaberegistern und Pixelshadereingaberegistern. | 0 | x | ||||
def – ps | Definieren von Konstanten | 0 | x | ||||
defb – ps | Definieren einer booleschen Konstante | 0 | x | x | |||
defi – ps | Definieren einer ganzzahligen Konstanten | 0 | x | x | |||
dp2add – ps | 2D-Punktprodukt und hinzufügen | 2 | x | ||||
dp3 – ps | 3D-Punktprodukt | 1 | x | ||||
dp4 – ps | 4D-Punktprodukt | 1 | x | ||||
dsx – ps | Veränderungsrate in x-Richtung | 2 | x | x | |||
dsy – ps | Änderungsrate in y-Richtung | 2 | x | x | |||
else – ps | Starten eines Else-Blocks | 1 | x | x | |||
endif – ps | Beenden sie, wenn... Else-Block | 1 | x | x | |||
endrep – ps | Ende eines Wiederholungsblocks | 2 | x | x | |||
exp – ps | Volle Genauigkeit 2x | 1 | x | ||||
frc – ps | Bruchkomponente | 1 | x | ||||
if bool – ps | Starten eines If-Blocks | 3 | x | x | |||
if_comp – ps | Starten eines if-Blocks mit einem Vergleich | 3 | x | x | |||
if pred – ps | Starten eines If-Blocks mit Prädication | 3 | x | x | |||
label – ps | Bezeichnung | 0 | x | x | |||
log – ps | Protokoll mit voller Genauigkeit (x) | 1 | x | ||||
lrp – ps | Lineare Interpolate | 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 | x | |||
ret – ps | Ende einer Unterroutine | 1 | x | x | |||
rsq – ps | Reziproke Quadratwurzel | 1 | x | ||||
setp_comp | Festlegen des Prädikatregisters | 1 | x | x | |||
sincos - ps | Sinus und Kosinus | 8 | x | ||||
sub – ps | Subtrahieren | 1 | x | ||||
texkill – ps | Pixelrendern beenden | Siehe Hinweis 1 | x | ||||
texld – ps_2_0 und höher | Beispiel für eine Textur | Siehe Hinweis 2 | x | ||||
texldb – ps | Textursampling mit Verzerrung der Detailebene von w-Component | Siehe Hinweis 3 | x | ||||
texldd – ps | Textursampling mit vom Benutzer bereitgestellten Farbverläufen | 3 | x | x | |||
texldp – ps | Textursampling mit projektivem Teil nach w-Komponente | Siehe Hinweis 4 | x |
Hinweise:
- Wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist, slots = 2; andernfalls Slots = 1.
- Wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist und die Textur eine Cubezuordnung ist, werden Slots = 4; andernfalls Slot = 1.
- Wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist, werden Slots = 6; andernfalls Slots = 1.
- Wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT nicht festgelegt ist, werden Slots = 1; Andernfalls:
- wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist und die Textur eine Cubezuordnung ist, slots = 4.
- wenn D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT festgelegt ist und die Textur keine Cubezuordnung ist, slots = 3.
Zugehörige Themen