Instruções de ps_2_x

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.
  • Instalação – um sombreador de pixel deve ter uma instrução de versão e deve ser a primeira instrução.
  • Aritmética – essas instruções fornecem as operações matemáticas em um sombreador.
  • Textura – essas instruções são usadas para carregar e amostrar dados de textura e modificar coordenadas de textura.
  • Controle de fluxo – essas 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 para esta versão.

Conjunto de instruções

Nome Descrição Slots de instrução Instalação Aritmético Textura Controle de fluxo Novo
abs - ps Valor absoluto 1 x
add - ps Adicionar dois vetores 1 x
break - ps Sair de um representante... Bloco endrep 1 x x
break_comp - ps Sair condicionalmente de um representante... bloco endrep, com uma comparação 3 x x
breakp - ps Sair de um representante... bloco endrep, com base em um predicado 3 x x
call - ps Chamar uma sub-rotina 2 x x
callnz bool - ps Chamar uma sub-rotina se um registro booliano não for zero 3 x x
callnz pred - ps Chamar uma sub-rotina se um registro de predicado não for zero 3 x x
cmp – ps Comparar origem com 0 1 x
crs - ps Produto cruzado 2 x
dcl_samplerType (sm2, sm3 – ps asm) Declarar a dimensão de textura para um sampler 0 x
dcl - (sm2, sm3 - ps asm) Declare a associação entre registros de saída do sombreador de vértice e registros de entrada de sombreador de pixel. 0 x
def - ps Definir constantes 0 x
defb - ps Definir uma constante booliana 0 x x
defi - ps Definir uma constante de inteiro 0 x x
dp2add - ps Produto de ponto 2D e adição 2 x
dp3 – ps Produto de ponto 3D 1 x
dp4 - ps Produto de ponto 4D 1 x
dsx - ps Taxa de alteração na direção x 2 x x
dsy - ps Taxa de alteração na direção y 2 x x
else - ps Iniciar um outro bloco 1 x x
endif - ps Encerrar um se... bloco else 1 x x
endrep - ps Fim de um bloco de repetição 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
if pred - ps Iniciar um bloco if com predication 3 x x
label – ps Rótulo 0 x x
log – ps Log de precisão completa₂(x) 1 x
lrp - ps Interpolação linear 2 x
m3x2 - ps Multiplicação 3x2 2 x
m3x3 – ps Multiplicação 3x3 3 x
m3x4 – ps Multiplicação 3x4 4 x
m4x3 - ps Multiplicação 4x3 3 x
m4x4 - ps Multiplicação 4x4 4 x
mad - ps Multiplicar e adicionar 1 x
max - ps Máximo 1 x
min - ps Mínimo 1 x
mov - ps Mover 1 x
mul - ps Multiplicar 1 x
nop – ps Nenhuma operação 1 x
nrm - ps Normalizar 3 x
pow - ps xy 3 x
ps Versão 0 x
rcp - ps Recíproca 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 registro de predicado 1 x x
sincos - ps Seno e cosseno 8 x
sub – ps Subtrair 1 x
texkill - ps Renderização de pixel de encerramento Consulte a observação 1 x
texld - ps_2_0 e para cima Amostra de uma textura Confira a observação 2 x
texldb - ps Amostragem de textura com desvio de nível de detalhes do w-component Confira a observação 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 w-component confira a Observação 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 de sombreador de pixel