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. 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) 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 |
---|---|---|---|---|---|
de viés | register_bias | X | X | X | X |
inverter | 1 – registrar | X | X | X | X |
negar | -Registro | X | X | X | X |
escala em 2 | register_x2 | X | |||
de dimensionamento assinado | register_bx2 | X | X | X | X |
modificadores texld e texcrd | register_d* | X | X | X | X |
registro de origem girando | register.xyzw | X | X | X | X |
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 é a escala de em 2 modificador. 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 viés, o dimensionamento assinado ou o modificador scalex2. Quando combinado, negação é executado por último.
- Inverter não pode ser combinado com qualquer 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 Acima
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 - pse 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 flutuantes constantes (c#), um dos seguintes deverá ser verdadeiro.
- Todos os registros de ponto flutuante constante devem usar o modificador abs.
- Nenhum dos registros de ponto flutuante constante pode usar o modificador de abs.
Tópicos relacionados