Compartir a través de


Registro de origen swizzling (referencia de PS de HLSL)

Swizzling hace referencia a la capacidad de copiar cualquier componente de registro de origen en cualquier componente de registro temporal. Swizzling no afecta a los datos de registro de origen. Antes de que se ejecute una instrucción, los datos de un registro de origen se copian en un registro temporal.

Swizzling de origen

Source swizzle permite que un componente individual de un registro de origen tome el valor de cualquiera de los cuatro componentes del mismo registro de origen antes de que se lea el registro para el cálculo.

Por ejemplo, el .zxxy swizzle significa:

  • El componente .x tomará el valor del componente .z.
  • El componente .y tomará el valor del componente .x
  • El componente .z tomará el valor del componente .x.
  • El componente .w tomará el valor de .y component

Los componentes pueden aparecer en cualquier orden. Si se especifican menos de cuatro componentes, se repite el último componente. Por ejemplo:

.xy  = .xyyy
.wzx = .wzxx
.z   = .zzzz

Si no se especifica ningún componente, no se aplica ningún swizzling.

Algunas instrucciones tienen restricciones para el swizzle de origen. Se enumeran en las páginas de referencia de instrucciones respetadas.

Versiones del sombreador de píxeles 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 (valor predeterminado) 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
arbitrario swizzle x x x x

 

* Solo está disponible si la máscara de escritura de destino es .w (.a).

Swizzle arbitrario

Los Swizzles se pueden aplicar a los registros de origen en un orden arbitrario; es decir, cualquier registro de origen puede tomar cualquier máscara de componente, en cualquier orden.

Replicación de Swizzle

La replicación de swizzle copia un componente en otro. Es decir, exactamente uno de los componentes .x, .y, .z, .w swizzle (o .r, .g, .b, .a equivalentes) debe especificarse.

Modificadores de registro de origen del sombreador de píxeles

registros de ps_1_1__ps_1_2__ps_1_3__ps_1_4

registros de ps_2_0

registros de ps_2_x

registros de ps_3_0