Partilhar via


Modificadores de registro de origem do sombreador de pixel

Use modificadores de registro de origem para alterar o valor lido de um registro antes que uma instrução seja executada. O conteúdo de um registo de origem permanece inalterado. Os modificadores são úteis para ajustar o intervalo de dados de registro em preparação para a instrução. Um conjunto de modificadores chamados seletores copia ou replica os dados de um único canal (r,g,b,a) para os outros canais.

ps_1_1 - ps_1_4

Esta tabela identifica as versões que suportam cada modificador:

Modificadores do registro de origem Sintaxe Versão 1_1 Versão 1_2 Versão 1_3 Versão 1_4
preconceito register_bias X X X X
inverter 1 - Registo X X X X
negar -registo X X X X
escala por 2 register_x2 X
de dimensionamento assinado register_bx2 X X X X
modificadores texld e texcrd register_d* X X X X
fonte registra swizzling register.xyzw X X X X

 

Os modificadores do registo de origem só podem ser utilizados em instruções aritméticas. Eles não podem ser usados em instruções de endereço de textura. A exceção é a escala por 2 modificador. Para a versão 1_1, a escala assinada pode ser usada no argumento source de qualquer instrução texm*. Para a versão 1_2 ou 1_3, a escala assinada pode ser usada no argumento de origem de qualquer instrução de endereço de textura.

Algumas restrições específicas do modificador:

  • Negate pode ser combinado com o polarizamento, dimensionamento assinado ou modificador scalex2. Quando combinado, o negate é executado em último lugar.
  • Inverter não pode ser combinado com qualquer outro modificador.
  • Inverter, negar, enviesar, dimensionar assinado e scalex2 podem ser combinados com qualquer um dos seletores.
  • Os modificadores de registro de origem não devem ser usados em registros constantes porque causarão resultados indefinidos. Para a versão 1_4, modificadores em constantes não são permitidos e falharão na validação.

ps_2_0 e acima

Para versões ps_2_0 e superiores, o número de modificadores foi simplificado.

Negate

Negate o conteúdo do registro de fonte.

Modificador de componente Descrição
- r Negação da fonte

 

O modificador negate não pode ser usado no registro de segunda fonte destas instruções: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - pse m4x4 - ps.

Versões de sombreador de pixel 2_0 2_x 2_sw 3_0 3_sw
- x x x x x

 

Valor Absoluto

Pegue o valor absoluto do registro.

Versões de sombreador de pixel 2_0 2_x 2_sw 3_0 3_sw
ABS x x

 

Se qualquer sombreador da versão 3 ler de um ou mais registros flutuantes constantes (c#), uma das seguintes opções deverá ser verdadeira.

  • Todos os registos constantes de vírgula flutuante devem utilizar o modificador do abd.
  • Nenhum dos registros de ponto flutuante constante pode usar o modificador de abs.

modificadores de registro do Pixel Shader