Condividi tramite


Istruzioni - vs_2_x

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

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.
  • Controllo del flusso: queste istruzioni aggiungono funzionalità di controllo del flusso, ad esempio ciclo di ,...endloop - vs, se bool - vs...altro...endife chiamate di subroutine.
  • Novità: queste istruzioni sono nuove per questa versione.

Set di istruzioni

Nome Descrizione Slot di istruzioni Apparecchio Aritmetica Controllo del flusso Nuovo
abs - vs Valore assoluto 1 x
aggiungere e Aggiungere due vettori 1 x
interruzione - confronto tra Interrompere un ciclo di - vs...endloop - vs o rep...blocco endrep 1 x x
break_comp - confronto tra Interruzione condizionale di un ciclo di - vs...endloop - vs o rep...blocco di endrep, con un confronto 3 x x
breakp - vs Interrompere un ciclo di - vs...endloop - vs o rep...blocco endrep, in base a un predicato 3 x x
chiamata - 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 x
crs - vs Prodotto incrociato 2 x
dcl_usage input (sm1, sm2, sm3 - vs asm) Dichiarare i registri dei vertici di input (vedere registri - vs_2_x) 0 x
def - vs Definire costanti 0 x
defb - vs Definire una costante booleana 0 x
defi - vs Definire 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 Calcolare il vettore di distanza 1 x
else - vs Iniziare un else - vs blocco 1 x
endif - vs Terminare un se bool - vs...else - vs blocco 1 x
endloop - vs Fine di un ciclo di e blocco di 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
se bool - vs Iniziare un se bool - vs blocco (usando una condizione booleana) 3 x
if_comp - confronto tra Iniziare un se bool - vs blocco, con un confronto 3 x x
se pred - vs Iniziare un se bool - vs blocco con una condizione di predicato 3 x x
etichetta e Etichetta 0 x
illuminata - vs Calcolo parziale dell'illuminazione 3 x
log - vs Logi con precisione completa(x) 1 x
logp - vs Log active precisione parziale(x) 1 x
ciclo e Ciclo 3 x
lrp - vs Interpolazione lineare 2 x
m3x2 - vs Moltiplicazione 3x2 2 x
m3x3 - vs Moltiplicazione 3x3 3 x
m3x4 - vs Moltiplicazione 3x4 4 x
m4x3 - vs Moltiplicazione 4x3 3 x
m4x4 - vs Moltiplicazione 4x4 4 x
pazzo - vs Moltiplicare e aggiungere 1 x
max - vs Massimo 1 x
min - vs Minimo 1 x
mov - vs Sposta 1 x
mova - vs Spostare i dati da un registro a virgola mobile al registro indirizzi (a0) 1 x
mul - vs Moltiplicare 1 x
nop - vs Nessuna operazione 1 x
nrm - vs Normalizzare un vettore 4D 3 x
pow - vs xy 3 x
rcp - vs Reciproco 1 x
rep - vs Ripetere 3 x
Fine di una subroutine o principale 1 x
rsq - vs Radice quadrata reciproca 1 x
setp_comp - confronto tra Impostare il registro dei predicati 1 x x
sge - vs Confronto maggiore o uguale a 1 x
sgn - vs Segno 3 x
sincos - vs Seno e coseno 8 x
slt - vs Minore di confronto 1 x
sub - vs Sottrarre 1 x
e Versione 0 x

 

istruzioni per vertex shader