Partilhar via


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.

Modificadores de registro de sombreador de vértice