Compartir a través de


Enmascaramiento de registros de destino

Enmascaramiento especifica qué componentes del registro de destino se actualizarán con el resultado de una instrucción. Los registros de textura tienen un conjunto de reglas y registros notexture tienen otro conjunto de reglas.

  • dx9_graphics_reference_asm_vs_registers_modifiers_masking: esta sección contiene reglas para aplicar máscaras a los registros de destino.
  • Texture_Register_Masks: los registros de textura tienen algunas reglas únicas.

Enmascaramiento de registros de destino

Como se muestra en la tabla siguiente, el enmascaramiento (donde es uno de los registros de sombreador de vértices válidos) se puede aplicar a los componentes individuales de los datos vectoriales.

Modificador de componente Descripción
r.{x}{y}{z}{w} Máscara de destino

 

  • En general, especificar máscaras de escritura de registro de destino es un buen estilo de codificación. Facilita la lectura y el mantenimiento del código.
  • Se puede especificar cualquier combinación de componentes (incluidos ninguno) siempre que x precede a y, y precede a z y precede a w.
  • Los registros de salida oPts y oFog deben usar solo una máscara.
  • Algunas instrucciones requieren que el registro de destino use una sola máscara de escritura: exp, expp, log, logp, pow, rcp y rsq.
  • En la versión 1.0, la instrucción frc requería una de las siguientes combinaciones de máscara: .x o .y o .xy. La versión 2.0 no tiene ninguna restricción de máscara.
  • sincos requiere una de las siguientes combinaciones de máscara: .x o .y o .xyz.
  • m3x2 requiere la máscara de escritura .xy.
  • m3x3 y m4x3 requieren la máscara de escritura .xyz.
  • m3x4 y m4x4 requieren la máscara de escritura .xyz o la máscara de escritura predeterminada (xyzw).

Máscaras de registro de texturas

Las reglas de validación para usar modificadores en los registros de coordenadas de textura son más estrictas que las reglas de validación para otros registros.

  • Si se escribe oTn, todos los registros anteriores (oTn-1 ~ oT0) también deben escribirse.
  • La máscara de escritura "combinada" para cualquier registro de oT# debe ser exactamente una de las siguientes:
    • .x
    • .Xy
    • .Xyz
    • .xyzw (que equivale a no usar ningún modificador de componente)

Por ejemplo, un sombreador de vértices puede generar registros de textura en instrucciones independientes.

    oT1.y  
    oT0.y  
    oT2  
    oT0.xz  
    oT1.x

O bien, se pueden combinar las instrucciones.

    oT0.xyz  
    oT1.xy  
    oT2.xyzw    

Estas restricciones solo se aplican a los registros de coordenadas de textura.

Modificadores de registro del sombreador de vértices