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:
- Se a textura for um mapa de cubo, slots = 4; caso contrário, slots = 1.
- Se a textura for um mapa de cubo, slots = 5; caso contrário, slots = 2.
- Se a textura for um mapa de cubo, slots = 4; caso contrário, slots = 3.
Tópicos relacionados