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 registro 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 chamado seletores copia ou replica os dados de um único canal (r,g,b,a) nos outros canais.

ps_1_1 – ps_1_4

Esta tabela identifica as versões que dão suporte a cada modificador:

Modificadores de registro de origem Sintaxe Versão 1_1 Versão 1_2 Versão 1_3 Versão 1_4
Viés register_bias X X X X
Inverter 1 – registrar X X X X
negate -Registrar X X X X
dimensionar por 2 register_x2 X
dimensionamento assinado register_bx2 X X X X
modificadores texld e texcrd register_d* X X X X
swizzling do registro de origem register.xyzw X X X X

 

Os modificadores de registro de origem só podem ser usados em instruções aritméticas. Eles não podem ser usados em instruções de endereço de textura. A exceção a isso é o modificador scale by 2 . Para a versão 1_1, a escala assinada pode ser usada no argumento de origem 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:

  • A negação pode ser combinada com o modificador bias, signed scaling ou scalex2. Quando combinado, negação é executado por último.
  • Inverter não pode ser combinado com nenhum outro modificador.
  • Inverter, negar, viés, dimensionamento assinado e scalex2 pode ser combinado 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 superior

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

Negar

Nega o conteúdo do registro de origem.

Modificador de componente Descrição
-R Negação de origem

 

O modificador de negação não pode ser usado no segundo registro de origem destas instruções: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps e m4x4 - ps.

Versões do 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 do sombreador de pixel 2_0 2_x 2_sw 3_0 3_sw
abs x x

 

Se qualquer sombreador versão 3 ler de um ou mais registros float constantes (c#), um dos seguintes deve ser verdadeiro.

  • Todos os registros de ponto flutuante constantes devem usar o modificador abs.
  • Nenhum dos registros de ponto flutuante constante pode usar o modificador de abs.

Modificadores de registro de sombreador de pixel