istruzioni ps_3_0

Questa sezione contiene informazioni di riferimento per le istruzioni del pixel shader versione 3_0.

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

  • Slot di istruzioni: numero di slot di istruzioni usati da ogni istruzione.
  • Setup: 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 campionare i dati delle trame e per modificare le coordinate della trama.
  • Controllo del flusso: queste istruzioni forniscono il controllo del flusso statico e dinamico per l'esecuzione delle istruzioni.
  • Novità: queste istruzioni sono nuove per questa versione.

Set di istruzioni

Nome Descrizione Slot di istruzioni Installazione Aritmetico Trama Controllo di flusso Nuovo
abs - ps Valore assoluto 1 x
add - ps Aggiungere due vettori 1 x
break - ps Interruzione di un ciclo... endloop o rep... blocco endrep 1 x
break_comp - ps Interruzione condizionale di un ciclo... endloop o rep... blocco endrep, con un confronto 3 x
breakp - ps uscire da un ciclo... endloop o rep... blocco endrep, basato su un predicato 3 x
call - ps Chiamare una subroutine 2 x
callnz bool - ps Chiamare una subroutine se un registro booleano non è zero 3 x
callnz pred - ps Chiamare una subroutine se un registro predicato non è zero 3 x
cmp - ps Confrontare l'origine con 0 1 x
crs - ps Prodotto incrociato 2 x
dcl_samplerType (sm2, sm3 - ps asm) Dichiarare la dimensione della trama per un campionatore 0 x
dcl_semantics (sm3 - ps asm) Dichiarare registri di input e output 0 x x
def - ps Definire costanti 0 x
defb - ps Definire una costante booleana 0 x
defi - ps Definire una costante integer 0 x
dp2add - ps Prodotto 2D punto e aggiunta 2 x
dp3 - ps Prodotto 3D dot 1 x
dp4 - ps Prodotto 4D dot 1 x
dsx - ps Frequenza di modifica nella direzione x 2 x
dsy - ps Frequenza di modifica nella direzione y 2 x
else - ps Avviare un blocco else 1 x
endif - ps Terminare un if... blocco else 1 x
endloop - ps Terminare un ciclo 2 x x
endrep - ps Fine di un blocco di ripetizione 2 x
exp - ps Precisione completa 2x 1 x
frc - ps Componente frazionaria 1 x
se bool - ps Iniziare un blocco if 3 x
if_comp - ps Iniziare un blocco if con un confronto 3 x
se pred - ps Iniziare un blocco if con predicato 3 x
label - ps Etichetta 0 x
log - ps Logo con precisione completa(x) 1 x
loop - ps Ciclo 3 x 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
ret - ps Fine di una subroutine 1 x
rsq - ps Radice quadrata reciproca 1 x
setp_comp Impostare il registro predicato 1 x
sincos - ps Sine e cosine 8 x
sub - ps Sottrazione 1 x
texkill - ps Rendering dei pixel di kill 2 x
texld - ps_2_0 e su Esempio di trama Vedere la nota 1 x
texldb - ps Campionamento della trama con distorsioni a livello di dettaglio da w-component 6 x
texldl - ps Campionamento della trama con livello di dettaglio dal componente w Vedere la nota 2 x x
texldd - ps Campionamento della trama con sfumature fornite dall'utente 3 x
texldp - ps Campionamento della trama con divisione proiettata per componente w Vedere nota 3 x

 

Note:

  1. Se la trama è una mappa del cubo, gli slot = 4; in caso contrario, slot = 1.
  2. Se la trama è una mappa del cubo, gli slot = 5; in caso contrario, slot = 2.
  3. Se la trama è una mappa del cubo, gli slot = 4; in caso contrario, slot = 3.

Istruzioni sul pixel shader