Source Register Swizzling (referência HLSL VS)
Antes de uma instrução ser executada, os dados em um registro de origem são copiados para um registro temporário. Swizzling refere-se à capacidade de copiar qualquer componente de registro de origem para qualquer componente de registro temporário. A oscilação não afeta os dados do registro de origem.
Swizzling de componentes
Como mostrado na tabela a seguir, o swizzling pode ser aplicado aos componentes individuais dos dados do registro de origem (onde are é uma das entradas válidas do sombreador de vértice Registers - vs_1_1).
Modificador de componente | Descrição |
---|---|
r.[xyzw][xyzw][xyzw][xyzw][xyzw] | Fonte swizzle |
- Todos os quatro componentes são sempre copiados. Se forem especificados menos de quatro componentes, o último componente é repetido (xy significa .xyyy). Se nenhum componente for especificado, x será repetido (.xxxx).
- Os componentes podem aparecer em qualquer ordem. v0.ywx resulta em v0.ywxx.
- Os componentes rgba podem ser usados respectivamente para xyzw (r para x, g para b, etc.).
- Estas instruções implementam swizzles de componente único de registro de fonte: exp, expp, log, logp, pow, rcp, rsq. O resultado dessas instruções é copiado para todos os quatro componentes do registro de destino.
Swizzling não pode ser usado no m3x2 - vs, m3x3 - vs, m4x3 - vse m4x4 - vs instruções.
Tópicos relacionados