ps_2_x Instruções
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.
- Configuração - Um sombreador de pixel deve ter uma instrução de versão e deve ser a primeira instrução.
- Aritmética - Estas instruções fornecem as operações matemáticas em um sombreador.
- Textura - Estas instruções são usadas para carregar e amostrar dados de textura e para modificar coordenadas de textura.
- Controle de fluxo - Estas 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 nesta versão.
Conjunto de instruções
Designação | Descrição | Slots de instrução | Configuração | Aritmética | Textura | Controlo de caudal | Novo |
---|---|---|---|---|---|---|---|
ABS - PS | Valor absoluto | 1 | x | ||||
adicionar - ps | Adicionar dois vetores | 1 | x | ||||
pausa - ps | Sair de um representante... Bloco endrep | 1 | x | x | |||
break_comp - PS | Quebrar condicionalmente de um... endrep block, com uma comparação | 3 | x | x | |||
breakp - ps | Sair de um representante... endrep block, baseado em um predicado | 3 | x | x | |||
chamada - ps | Chamar uma sub-rotina | 2 | x | x | |||
Callnz Bool - PS | Chamar uma sub-rotina se um registro booleano não for zero | 3 | x | x | |||
Callnz Pred - PS | Chamar uma sub-rotina se um registro de predicados não for zero | 3 | x | x | |||
cmp - ps | Comparar fonte com 0 | 1 | x | ||||
CRS - PS | Produto cruzado | 2 | x | ||||
dcl_samplerType (SM2, SM3 - PS ASM) | Declarar a dimensão de textura para um amostrador | 0 | x | ||||
DCL - (SM2, SM3 - PS ASM) | Declare a associação entre os registradores de saída do sombreador de vértice e os registradores de entrada do sombreador de pixel. | 0 | x | ||||
def - ps | Definir constants | 0 | x | ||||
Defb - PS | Definir uma constante booleana | 0 | x | x | |||
defi - ps | Definir uma constante inteira | 0 | x | x | |||
dp2add - ps | Produto de pontos 2D e adicionar | 2 | x | ||||
DP3 - PS | Produto 3D dot | 1 | x | ||||
DP4 - PS | Produto 4D dot | 1 | x | ||||
DSX - PS | Taxa de mudança na direção x | 2 | x | x | |||
DSY - PS | Taxa de mudança na direção y | 2 | x | x | |||
mais - ps | Iniciar um outro bloco | 1 | x | x | |||
Endif - PS | Termine um se... senão bloquear | 1 | x | x | |||
endrep - ps | Fim de um bloco repetido | 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 pred - ps | Iniciar um bloco if com predicação | 3 | x | x | |||
rótulo - ps | Rótulo | 0 | x | x | |||
log - ps | Log de precisão total₂(x) | 1 | x | ||||
lrp - ps | Interpolação linear | 2 | x | ||||
m3x2 - ps | 3x2 multiplicar | 2 | x | ||||
m3x3 - ps | Multiplicação 3x3 | 3 | x | ||||
m3x4 - ps | 3x4 multiplicar | 4 | x | ||||
M4x3 - PS | Multiplicação 4x3 | 3 | x | ||||
M4x4 - PS | Multiplicação 4x4 | 4 | x | ||||
Mad - PS | Multiplique e adicione | 1 | x | ||||
máximo - ps | Máximo | 1 | x | ||||
min - ps | Mínimo | 1 | x | ||||
mov - ps | Mudança | 1 | x | ||||
mul - ps | Multiplicar | 1 | x | ||||
Nop - PS | Sem operação | 1 | x | ||||
NRM - PS | Normalizar | 3 | x | ||||
POW - PS | xy | 3 | x | ||||
ps | Versão | 0 | x | ||||
RCP - PS | Recíproco | 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 registo de predicados | 1 | x | x | |||
Sincos - PS | Seno e cosseno | 8 | x | ||||
sub - ps | Subtrair | 1 | x | ||||
Texkill - PS | Matar renderização de pixel | Ver nota 1 | x | ||||
texld - ps_2_0 e acima | Amostra de uma textura | Ver nota 2 | x | ||||
Texldb - PS | Amostragem de textura com viés de nível de detalhe do componente w | Ver nota 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 componente w | Ver nota 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