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 | Configuração | Aritmética | Textura | Controle de fluxo | Novo |
---|---|---|---|---|---|---|---|
abs – ps | Valor absoluto | 1 | x | ||||
adicionar - ps | Adicionar dois vetores | 1 | x | ||||
quebra de - ps | Sair de um representante... Bloco de despir | 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 | |||
chamada - ps | Chamar uma sub-rotina | 2 | x | x | |||
callnz bool - ps | Chame uma sub-rotina se um registro booliano não for zero | 3 | x | x | |||
callnz pred - ps | Chame uma sub-rotina se um registro de predicado não for zero | 3 | x | 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 - (sm2, sm3 - ps asm) | Declare a associação entre registros de saída do sombreador de vértice e registros de entrada do 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 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 | x | |||
dsy - ps | Taxa de alteração na direção y | 2 | x | x | |||
- 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 | |||
se antes - ps | Iniciar um bloco if com a pré-indicação | 3 | x | x | |||
rótulo – ps | Etiqueta | 0 | x | x | |||
log – ps | Log de precisão completa₂(x) | 1 | x | ||||
lrp – ps | Interpolar linearmente | 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 | ||||
louco - 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 até | Amostrar uma textura | Consulte a observação 2 | x | ||||
texldb – ps | Amostragem de textura com viés de nível de detalhes do w-component | Consulte 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 | Consulte a observação 4 | x |
Anotações:
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definido, slots = 2; caso contrário, slots = 1.
- Se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definida 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 definida e a textura for um mapa de cubo, slots = 4.
- se D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT estiver definida e a textura não for um mapa de cubo, slots = 3.
Tópicos relacionados