istruzioni ps_2_x

Questa sezione contiene informazioni di riferimento per la versione del pixel shader 2_x istruzioni.

Esistono diversi tipi di istruzioni per pixel shader, come illustrato nella tabella. Le colonne a destra indicano quanto segue:

  • Slot di istruzione: numero di slot di istruzione usati da ogni istruzione.
  • Installazione: un pixel shader deve avere un'istruzione di versione e deve essere la prima istruzione.
  • Aritmetica: queste istruzioni forniscono le operazioni matematiche in uno shader.
  • Trama: queste istruzioni vengono usate per caricare e campione i dati della trama e modificare le coordinate della trama.
  • Controllo flusso: queste istruzioni forniscono il controllo del flusso statico e dinamico all'esecuzione delle istruzioni.
  • Novità: queste istruzioni sono nuove a questa versione.

Set di istruzioni

Nome Descrizione Slot di istruzione Installazione Aritmetico Trama Controllo di flusso Nuovo
abs - ps Valore assoluto 1 x
add - ps Aggiungere due vettori 1 x
break - ps Eseguarsi da un repository... blocco endrep 1 x x
break_comp - ps Interruzione condizionale di un repository... blocco endrep, con un confronto 3 x x
breakp - ps Eseguarsi da un repository... blocco endrep, basato su un predicato 3 x x
chiamata - ps Chiamare una subroutine 2 x x
callnz bool - ps Chiamare una subroutine se un registro booleano non è zero 3 x x
callnz pred - ps Chiamare una subroutine se un registro predicato non è zero 3 x x
cmp - ps Confrontare l'origine a 0 1 x
crs - ps Prodotto incrociato 2 x
dcl_samplerType (sm2, sm3 - ps asm) Dichiarare la dimensione della trama per un sampler 0 x
dcl - (sm2, sm3 - ps asm) Dichiarare l'associazione tra i registri di output del vertex shader e i registri di input pixel shader. 0 x
def - ps Definire costanti 0 x
defb - ps Definire una costante booleana 0 x x
defi - ps Definire una costante integer 0 x x
dp2add - ps Prodotto punto 2D e aggiungi 2 x
dp3 - ps Prodotto punto 3D 1 x
dp4 - ps Prodotto punto 4D 1 x
dsx - ps Frequenza di modifica nella direzione x 2 x x
dsy - ps Frequenza di modifica nella direzione y 2 x x
else - ps Avviare un blocco else 1 x x
endif - ps Terminare un if... blocco else 1 x x
endrep - ps Fine di un blocco di ripetizione 2 x x
exp - ps Precisione completa 2x 1 x
frc - ps Componente frazionaria 1 x
se bool - ps Iniziare un blocco if 3 x x
if_comp - ps Iniziare un blocco if con un confronto 3 x x
se pred - ps Iniziare un blocco if con predicato 3 x x
label - ps Etichetta 0 x x
log - ps Logo con precisione completa(x) 1 x
lrp - ps Interpolazione lineare 2 x
m3x2 - ps Moltiplicazione 3x2 2 x
m3x3 - ps Moltiplicazione 3x3 3 x
m3x4 - ps Moltiplicazione 3x4 4 x
m4x3 - ps Moltiplicazione 4x3 3 x
m4x4 - ps Moltiplicazione 4x4 4 x
pazzo - ps Moltiplicare e aggiungere 1 x
max - ps Massimo 1 x
min - ps Minima 1 x
mov - ps Spostamento 1 x
mul - ps Moltiplicazione 1 x
nop - ps Nessuna operazione 1 x
nrm - ps Normalizzare 3 x
pow - ps xy 3 x
Ps Versione 0 x
rcp - ps Reciproco 1 x
rep - ps Repeat 3 x x
ret - ps Fine di una subroutine 1 x x
rsq - ps Radice quadrata reciproca 1 x
setp_comp Impostare il registro del predicato 1 x x
sincos - ps Seno e coseno 8 x
sub - ps Sottrazione 1 x
texkill - ps Kill pixel render Vedere la nota 1 x
texld - ps_2_0 e su Campiona una trama Vedere la nota 2 x
texldb - ps Campionamento delle trame con distorsione a livello di dettaglio da w-component Vedere la nota 3 x
texldd - ps Campionamento delle trame con sfumature fornite dall'utente 3 x x
texldp - ps Campionamento delle trame con divisione proiettata per componente w Vedere la nota 4 x

 

Note:

  1. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato, gli slot = 2; in caso contrario, slot = 1.
  2. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato e la trama è una mappa cubo, slot = 4; in caso contrario, slot = 1.
  3. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato, gli slot = 6; in caso contrario, slot = 1.
  4. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT non è impostato, gli slot = 1; Altrimenti:

Istruzioni per pixel shader