Source register swizzling (HLSL PS reference)
Swizzling odnosi się do możliwości kopiowania dowolnego składnika rejestru źródłowego do dowolnego składnika tymczasowego rejestru. Swizzling nie ma wpływu na dane rejestru źródłowego. Przed uruchomieniem instrukcji dane w rejestrze źródłowym są kopiowane do rejestru tymczasowego.
Source Swizzling
Źródłowizzle umożliwia poszczególnym składnikom rejestru źródłowego przejęcie wartości dowolnego z czterech składników tego samego rejestru źródłowego, zanim rejestr zostanie odczytany do obliczeń.
Na przykład plik zxxy swizzle oznacza:
- Składnik .x będzie przyjmować wartość składnika .z
- Składnik .y będzie przyjmować wartość składnika .x
- Składnik .z będzie przyjmować wartość składnika .x
- Składnik .w będzie przyjmować wartość składnika .y
Składniki mogą być wyświetlane w dowolnej kolejności. Jeśli określono mniej niż cztery składniki, ostatni składnik zostanie powtórzony. Na przykład:
.xy = .xyyy
.wzx = .wzxx
.z = .zzzz
Jeśli nie określono żadnego składnika, nie zastosowanowizowania.
Niektóre instrukcje mają ograniczenia dotyczącewizzle źródłowego. Są one wymienione na stronach referencyjnych dotyczących instrukcji.
Wersje cieniowania pikseli | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
.x | x | x | x | x | x | x | |||
.y | x | x | x | x | x | x | |||
.z | x* | x* | x* | x | x | x | x | x | x |
.w | x | x | x | x | x | x | x | x | x |
.xyzw (wartość domyślna) | x | x | x | x | x | x | x | x | x |
.yzxw | x | x | x | x | x | ||||
.zxyw | x | x | x | x | x | ||||
.wzyx | x | x | x | x | x | ||||
dowolny swizzle | x | x | x | x |
* Dostępne tylko wtedy, gdy docelowa maska zapisu to .w (.a).
Dowolny swizzle
Swizzles można stosować do rejestrów źródłowych w dowolnej kolejności; oznacza to, że każdy rejestr źródłowy może przyjmować dowolną maskę składników w dowolnej kolejności.
Replikowaniewizyj wizzle
Replikujwizuj wizzle kopiuje jeden składnik do innego. Jest to dokładnie jeden ze składników .x, .y, .z, .w swizzle (lub .r, .g, .b, .a).
Tematy pokrewne