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:
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato, gli slot = 2; in caso contrario, slot = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato e la trama è una mappa cubo, slot = 4; in caso contrario, slot = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato, gli slot = 6; in caso contrario, slot = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT non è impostato, gli slot = 1; Altrimenti:
- se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato e la trama è una mappa del cubo, slot = 4.
- se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT è impostato e la trama non è una mappa cubo, slot = 3.
Argomenti correlati