Instruções de ps_3_0

Esta seção contém informações de referência para as instruções do sombreador de pixel versão 3_0.

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 pixels 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 – essas 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 loop... endloop ou rep... Bloco de despir 1 x
break_comp - ps Sair condicionalmente de um loop... endloop ou rep... bloco endrep, com uma comparação 3 x
breakp – ps sair de um loop... endloop ou rep... bloco endrep, com base em um predicado 3 x
call - ps Chamar uma sub-rotina 2 x
callnz bool - ps Chamar uma sub-rotina se um registro booliano não for zero 3 x
callnz pred - ps Chamar uma sub-rotina se um registro de predicado não for zero 3 x
cmp – ps Comparar a 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_semantics (sm3 – ps asm) Declarar registros de entrada e saída 0 x x
def – ps Definir constantes 0 x
defb - ps Definir uma constante booliana 0 x
defi - ps Definir uma constante de inteiro 0 x
dp2add - ps Produto de ponto 2D e adicionar 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
dsy - ps Taxa de alteração na direção y 2 x
else - ps Iniciar um outro bloco 1 x
endif - ps Encerrar um se... bloco else 1 x
endloop - ps Encerrar um loop 2 x x
endrep - ps Fim de um bloco de repetição 2 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
if_comp - ps Iniciar um bloco if com uma comparação 3 x
if pred - ps Iniciar um bloco if com predication 3 x
label – ps Rótulo 0 x
log – ps Log de precisão completa₂(x) 1 x
loop – ps Loop 3 x 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
ret - ps Fim de uma sub-rotina 1 x
rsq - ps Raiz quadrada recíproca 1 x
setp_comp Definir o registro de predicado 1 x
sincos - ps Seno e cosseno 8 x
sub – ps Subtrair 1 x
texkill - ps Renderização de pixel de encerramento 2 x
texld - ps_2_0 e para cima Amostra de uma textura Consulte a observação 1 x
texldb - ps Amostragem de textura com desvio de nível de detalhes do w-component 6 x
texldl - ps Amostragem de textura com nível de detalhes do w-component Confira a observação 2 x x
texldd - ps Amostragem de textura com gradientes fornecidos pelo usuário 3 x
texldp - ps Amostragem de textura com divisão projetiva por w-component Confira a observação 3 x

 

Observações:

  1. Se a textura for um mapa de cubo, slots = 4; caso contrário, slots = 1.
  2. Se a textura for um mapa de cubo, slots = 5; caso contrário, slots = 2.
  3. Se a textura for um mapa de cubo, slots = 4; caso contrário, slots = 3.

Instruções de sombreador de pixel