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