Partilhar via


ps_2_x Instruções

Esta seção contém informações de referência para a versão do sombreador de pixel 2_x instruções.

Há vários tipos de instruções de sombreador de pixel, conforme mostrado na tabela. As colunas à direita significam o seguinte:

  • Slots de instrução - Número de slots de instrução usados por cada instrução.
  • Configuração - Um sombreador de pixel deve ter uma instrução de versão e deve ser a primeira instrução.
  • Aritmética - Estas instruções fornecem as operações matemáticas em um sombreador.
  • Textura - Estas instruções são usadas para carregar e amostrar dados de textura e para modificar coordenadas de textura.
  • Controle de fluxo - Estas instruções fornecem controle de fluxo estático e dinâmico para a execução de instruções.
  • Novo - Estas instruções são novas nesta versão.

Conjunto de instruções

Designação Descrição Slots de instrução Configuração Aritmética Textura Controlo de caudal Novo
ABS - PS Valor absoluto 1 x
adicionar - ps Adicionar dois vetores 1 x
pausa - ps Sair de um representante... Bloco endrep 1 x x
break_comp - PS Quebrar condicionalmente de um... endrep block, com uma comparação 3 x x
breakp - ps Sair de um representante... endrep block, baseado em um predicado 3 x x
chamada - ps Chamar uma sub-rotina 2 x x
Callnz Bool - PS Chamar uma sub-rotina se um registro booleano não for zero 3 x x
Callnz Pred - PS Chamar uma sub-rotina se um registro de predicados não for zero 3 x x
cmp - ps Comparar fonte com 0 1 x
CRS - PS Produto cruzado 2 x
dcl_samplerType (SM2, SM3 - PS ASM) Declarar a dimensão de textura para um amostrador 0 x
DCL - (SM2, SM3 - PS ASM) Declare a associação entre os registradores de saída do sombreador de vértice e os registradores de entrada do sombreador de pixel. 0 x
def - ps Definir constants 0 x
Defb - PS Definir uma constante booleana 0 x x
defi - ps Definir uma constante inteira 0 x x
dp2add - ps Produto de pontos 2D e adicionar 2 x
DP3 - PS Produto 3D dot 1 x
DP4 - PS Produto 4D dot 1 x
DSX - PS Taxa de mudança na direção x 2 x x
DSY - PS Taxa de mudança na direção y 2 x x
mais - ps Iniciar um outro bloco 1 x x
Endif - PS Termine um se... senão bloquear 1 x x
endrep - ps Fim de um bloco repetido 2 x x
exp - ps Precisão total 2x 1 x
FRC - PS Componente fracionário 1 x
se bool - ps Iniciar um bloco if 3 x x
if_comp - PS Iniciar um bloco if com uma comparação 3 x x
se pred - ps Iniciar um bloco if com predicação 3 x x
rótulo - ps Rótulo 0 x x
log - ps Log de precisão total₂(x) 1 x
lrp - ps Interpolação linear 2 x
m3x2 - ps 3x2 multiplicar 2 x
m3x3 - ps Multiplicação 3x3 3 x
m3x4 - ps 3x4 multiplicar 4 x
M4x3 - PS Multiplicação 4x3 3 x
M4x4 - PS Multiplicação 4x4 4 x
Mad - PS Multiplique e adicione 1 x
máximo - ps Máximo 1 x
min - ps Mínimo 1 x
mov - ps Mudança 1 x
mul - ps Multiplicar 1 x
Nop - PS Sem operação 1 x
NRM - PS Normalizar 3 x
POW - PS xy 3 x
ps Versão 0 x
RCP - PS Recíproco 1 x
rep - ps Repetir 3 x x
ret - ps Fim de uma sub-rotina 1 x x
rsq - ps Raiz quadrada recíproca 1 x
setp_comp Definir o registo de predicados 1 x x
Sincos - PS Seno e cosseno 8 x
sub - ps Subtrair 1 x
Texkill - PS Matar renderização de pixel Ver nota 1 x
texld - ps_2_0 e acima Amostra de uma textura Ver nota 2 x
Texldb - PS Amostragem de textura com viés de nível de detalhe do componente w Ver nota 3 x
Texldd - PS Amostragem de textura com gradientes fornecidos pelo usuário 3 x x
Texldp - PS Amostragem de textura com divisão projetiva por componente w Ver nota 4 x

 

Observações:

  1. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido, slots = 2; caso contrário, slots = 1.
  2. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido e a textura for um mapa de cubo, slots = 4; caso contrário, slot = 1.
  3. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido, slots = 6; caso contrário, slots = 1.
  4. Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT não estiver definido, slots = 1; caso contrário:

Instruções do Pixel Shader