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:
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido, slots = 2; caso contrário, slots = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido e a textura for um mapa de cubo, slots = 4; caso contrário, slot = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido, slots = 6; caso contrário, slots = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT não estiver definido, slots = 1; Caso contrário:
- se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido e a textura for um mapa de cubo, slots = 4.
- se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido e a textura não for um mapa de cubo, slots = 3.
Tópicos relacionados