Istruzioni - vs_3_0

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

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

  • Slot di istruzioni: numero di slot di istruzioni usati da ogni istruzione.
  • Installazione: istruzioni non aritmetiche. Ogni 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 supportano la ricerca dell'indirizzo della trama.
  • Controllo flusso: queste istruzioni aggiungono il controllo del flusso, ad esempio cicli, ripetizioni e se bool - vs... else... confronti endif .
  • Novità: queste istruzioni sono nuove per questa versione.

Set di istruzioni

Nome Descrizione Slot di istruzioni Installazione Aritmetico Trama Controllo di flusso Nuovo
abs - vs Valore assoluto 1 x
add - vs Aggiungere due vettori 1 x
break - vs Interruzione di un ciclo - vs... endloop - vs o rep... blocco endrep 1 x
break_comp - vs Interruzione condizionale di un ciclo - vs... endloop - vs o rep... blocco endrep , con un confronto 3 x
breakp - vs Interruzione di un ciclo - vs... endloop - vs o rep... blocco endrep , basato su un predicato 3 x
call - vs Chiamare una subroutine 2 x
callnz bool - vs Chiamare una subroutine se un registro booleano non è zero 3 x
callnz pred - vs Chiamare una subroutine se un registro predicato non è zero 3 x
crs - vs Prodotto incrociato 2 x
dcl_usage input (sm1, sm2, sm3 - vs asm) Dichiarare registri dei vertici di input (vedere Registri - vs_3_0) 0 x
dcl_samplerType (sm3 - vs asm) Dichiarare la dimensione della trama per un campionatore 0 x x
def - vs Definire costanti 0 x
defb - vs Dichiarare una costante booleana 0 x
defi - vs Dichiarare una costante integer 0 x
dp3 - vs Prodotto punto a tre componenti 1 x
dp4 - vs Prodotto punto a quattro componenti 1 x
dst - vs Distanza 1 x
else - vs Avviare un blocco else 1 x
endif - vs Terminare un valore se bool - vs... blocco else 1 x
endloop - vs Fine di un ciclo - vs block 2 x
endrep - vs Fine di un blocco di ripetizione 2 x
exp - vs Precisione completa 2x 1 x
expp - vs Precisione parziale 2x 1 x
frc - vs Componente frazionaria 1 x
if bool - vs Iniziare un valore bool - vs block (usando una condizione booleana) 3 x
if_comp - vs Iniziare un valore bool if - vs block, con un confronto 3 x
se pred - vs Avviare un valore bool if - vs block con una condizione di predicato 3 x
etichetta - vs Etichetta 0 x
lit - vs Calcolare l'illuminazione 3 x
log - vs Log₂ di precisione completa(x) 1 x
logp - vs Log₂ di precisione parziale(x) 1 x
ciclo - vs Ciclo 3 x
lrp - vs Interpolazione lineare 2 x
m3x2 - vs Moltiplicare 3x2 2 x
m3x3 - vs Moltiplicare 3x3 3 x
m3x4 - vs Moltiplicare 3x4 4 x
m4x3 - vs Moltiplicare 4x3 3 x
m4x4 - vs Moltiplicare 4x4 4 x
pazzo - vs Moltiplicare e aggiungere 1 x
max - vs Massimo 1 x
min - vs Minima 1 x
mov - vs Spostamento 1 x
mova - vs Spostare i dati da un registro a virgola mobile a un registro intero 1 x
mul - vs Moltiplicazione 1 x
nop - vs Nessuna operazione 1 x
nrm - vs Normalizzare 3 x
pow - vs xy 3 x
rcp - vs Reciproco 1 x
rep - vs Repeat 3 x
ret - vs Fine di una subroutine 1 x
rsq - vs Radice quadrata reciproca 1 x
setp_comp - vs Impostare il registro del predicato 1 x
sge - vs Confronto maggiore o uguale 1 x
sgn - vs Sign 3 x
sincos - vs Seno e coseno 8 x
slt - vs Minore di confronto 1 x
sub - vs Sottrazione 1 x
texldl - vs Caricamento delle trame con livello di dettaglio regolabile dall'utente Vedere la nota 1 x x
vs Versione 0 x

 

Note:

  • se la trama è una mappa cubo, slot = 5; in caso contrario, slot = 2

Istruzioni per vertex shader