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.
Tópicos relacionados