Modificatori registro origine pixel shader
Usare i modificatori del registro di origine per modificare il valore letto da un registro prima dell'esecuzione di un'istruzione. Il contenuto di un registro di origine rimane invariato. I modificatori sono utili per regolare l'intervallo di dati del registro in preparazione dell'istruzione. Un set di modificatori denominati selettori copia o replica i dati da un singolo canale (r,g,b,a) negli altri canali.
ps_1_1 - ps_1_4
Questa tabella identifica le versioni che supportano ogni modificatore:
Modificatori del registro di origine | Sintassi | Versione 1_1 | Versione 1_2 | Versione 1_3 | Versione 1_4 |
---|---|---|---|---|---|
Pregiudizi | register_bias | X | X | X | X |
Invertire | 1 - Registrazione | X | X | X | X |
negate | -Registro | X | X | X | X |
scalare di 2 | register_x2 | X | |||
ridimensionamento firmato | register_bx2 | X | X | X | X |
modificatori texld e texcrd | register_d* | X | X | X | X |
source register swizzling | register.xyzw | X | X | X | X |
I modificatori del registro di origine possono essere usati solo in istruzioni aritmetiche. Non possono essere usate nelle istruzioni relative all'indirizzo della trama. L'eccezione a questa è la scala di 2 modificatore. Per la versione 1_1, la scala con segno può essere usata nell'argomento di origine di qualsiasi istruzione texm*. Per la versione 1_2 o 1_3, la scala con segno può essere usata nell'argomento di origine di qualsiasi istruzione dell'indirizzo della trama.
Alcune restrizioni specifiche del modificatore:
- La negazione può essere combinata con il modificatore bias, signed scaling o scalex2. Se combinata, la negazione viene eseguita per ultima.
- Non è possibile combinare inverti con qualsiasi altro modificatore.
- Inverti, nega, bias, ridimensionamento con segno e scalex2 può essere combinato con uno dei selettori.
- I modificatori del registro di origine non devono essere usati nei registri costanti perché causeranno risultati non definiti. Per la versione 1_4, i modificatori sulle costanti non sono consentiti e avranno esito negativo.
ps_2_0 e versioni successive
Per le versioni ps_2_0 e successive, il numero di modificatori è stato semplificato.
Negate
Nega il contenuto del registro di origine.
Modificatore del componente | Descrizione |
---|---|
-R | Negazione dell'origine |
Il modificatore negate non può essere usato nel secondo registro di origine di queste istruzioni: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps e m4x4 - ps.
Versioni del pixel shader | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
- | x | x | x | x | x |
Valore assoluto
Accettare il valore assoluto del registro.
Versioni del pixel shader | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
abs | x | x |
Se una versione 3 dello shader legge da uno o più registri float costanti (c#), uno dei seguenti deve essere true.
- Tutti i registri a virgola mobile costanti devono usare il modificatore abs.
- Nessuno dei registri a virgola mobile costante può usare il modificatore abs.
Argomenti correlati