Diferenças de sombreador de pixel
Slots de instrução
Cada versão dá suporte a um número diferente de slots de instrução máximos.
Versão | Número máximo de slots de instrução |
---|---|
ps_1_1 | 4 textura + 8 aritmética |
ps_1_2 | 4 textura + 8 aritmética |
ps_1_3 | 4 textura + 8 aritmética |
ps_1_4 | 6 textura + 8 aritmética por fase |
ps_2_0 | 32 textura + 64 aritmética |
ps_2_x | Mínimo de 96 e até o número de slots em D3DCAPS9. D3DPSHADERCAPS2_0.NumInstructionSlots. Consulte D3DPSHADERCAPS2_0. |
ps_3_0 | Mínimo de 512 e até o número de slots em D3DCAPS9. MaxPixelShader30InstructionSlots. Consulte D3DPSHADERCAPS2_0. |
Para obter informações sobre as limitações dos sombreadores de software, consulte Sombreadores de Software.
Limites de aninhamento de controle de fluxo
- Consulte Limitações de controle de fluxo.
Recursos do ps_1_x
Novas instruções:
Consulte ps_1_1, ps_1_2, ps_1_3 ps_1_4 Instruções.
Novos registros:
Consulte Ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registros.
Recursos do ps_2_0
Novos recursos:
- Três novos swizzles - .yzxw, .zxyw, .wzyx
- Número de Registros Temporários (r#) aumentado para 12
- Número de registros de Registro float constante (c#) aumentado para 32
- Número de registros de coordenadas de textura(t#) aumentado para 8
Novas instruções:
- Instruções de instalação - dcl - (sm2, sm3 - ps asm), dcl_samplerType (sm2, sm3 - ps asm)
- Instruções aritméticas - abs - ps, crs - ps, dp2add - ps, exp - ps, frc - ps, log - ps, m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, m4x4 - ps, max - ps, min - ps, nrm - ps, pow - ps, rcp - ps, rsq - ps, sincos - ps
- Instruções de textura - texld - ps_2_0 e para cima (sintaxe diferente), texldb - ps, texldp - ps
Novos registros:
Recursos do ps_2_x
Novos recursos (consulte D3DPSHADERCAPS2_0.):
- Controle de fluxo dinâmico
- Controle de fluxo estático
- Aninhamento para instruções de controle de fluxo dinâmico e estático
- Número de Registros Temporários(r#) aumentado
- Swizzle de origem arbitrário
- Instruções de gradiente
- Predicação
- Nenhum limite de leitura de textura dependente
- Sem limite de instrução de textura
Novas instruções:
- Instruções de controle de fluxo estático - se bool - ps, call - ps, callnz bool - ps, else - ps, endif - ps, rep - ps, endrep - ps, label - ps, ret - ps
- Instruções de controle de fluxo dinâmico - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, if pred - ps, setp_comp - ps
- Instruções aritméticas - dsx - ps, dsy - ps
- Instrução de textura - texldd - ps
Novos registros:
Recursos do ps_3_0
Novos recursos:
- Consolidado 10 Registros de Entrada(v#)
- Registro de Cor de Entrada Indexável (v#) com o Registro do Contador de Loop (aL)
- Número de Registros Temporários(r#) aumentado para 32
- O número de registros float constantes(c#) aumentou para 224
Novas instruções:
- Instrução de instalação – dcl_semantics (sm3 – ps asm)
- Instruções de fluxo estático – loop – ps, endloop – ps
- Instrução aritmética - sincos - ps (nova sintaxe)
- Instrução de textura - texldl - ps
Novos registros:
- Registro de Entrada (v#)
- Registro de Posição (vPos)
- Registro facial (vFace)
Tópicos relacionados