Registro temporaneo (riferimento HLSL VS)
Un registro temporaneo del vertex shader viene usato per contenere i risultati intermedi.
Prima di usarlo, è necessario inizializzare un registro temporaneo. Ogni registro temporaneo ha accesso in scrittura singola e in lettura triplo. Ciò significa che una singola istruzione shader può usare fino a tre registri temporanei come input.
Non è possibile utilizzare i valori in un registro temporaneo che rimangono dalle chiamate precedenti del vertex shader.
Un registro è costituito da proprietà che determinano il comportamento di ogni registro.
Proprietà | Descrizione |
---|---|
Nome | r[n]. n è un numero di registro facoltativo. Il valore predefinito è 0 ed è il valore usato se non viene specificato alcun valore. |
Contare | Un massimo di 12 registri. |
Autorizzazioni di I/O | Lettura/scrittura. Questo registro può essere letto o scritto dall'API o dallo shader. |
Porte di lettura | Il numero di volte in cui un registro può essere letto all'interno di una singola istruzione è 3. Un registro temporaneo è l'unico registro che può essere letto e scritto più volte in un'unica istruzione. |
Ogni registro temporaneo ha accesso in scrittura singola e in lettura triplo. Pertanto, un'istruzione può avere fino a tre registri temporanei nel set di operandi di origine di input.
Non è possibile usare valori in un registro temporaneo che rimangono dalle chiamate precedenti del vertex shader. I vertex shader che leggono un valore da un registro temporaneo prima della scrittura non riusciranno a chiamare l'API Direct3D per creare il vertex shader.
Esempio
Di seguito è riportato un esempio di uso di un registro temporaneo:
def c4, 0,0,0,1
...
// Decompress position
mov r0.x, v0.x
mov r0.y, c4.w // 1
mov r0.z, v0.y
mov r0.w, c4.w // 1
// Compute theta from distance and time
mov r4.xz, r0 // xz
Versioni del vertex shader | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registro temporaneo | x | x | x | x | x | x |
Argomenti correlati