Diferenças do Pixel Shader
Slots de instrução
Cada versão suporta 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 texturas + 8 aritméticas por fase |
ps_2_0 | 32 textura + 64 aritmética |
ps_2_x | Mínimo de 96 e até ao número de faixas horárias em D3DCAPS9. D3DPSHADERCAPS2_0.NumInstructionSlots. Veja D3DPSHADERCAPS2_0. |
ps_3_0 | Mínimo de 512 e até ao número de faixas horárias em D3DCAPS9. MaxPixelShader30InstructionSlots. Veja D3DPSHADERCAPS2_0. |
Para obter informações sobre as limitações dos sombreadores de software, consulte Software Shaders.
Limites de aninhamento de controle de fluxo
- Consulte Limitações do controle de fluxo.
ps_1_x Caraterísticas
Novas instruções:
Consulte ps_1_1, ps_1_2, ps_1_3 ps_1_4 Instruções.
Novos registos:
Ver ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registos.
ps_2_0 Caraterísticas
Novos recursos:
- Três novos swizzles - .yzxw, .zxyw, .wzyx
- Número de de Registo Temporário (r#) aumentado para 12
- Número de Constant Float Register registers (c#) aumentado para 32
- Número de Texture Coordinate Registers (t#) aumentado para 8
Novas instruções:
- Instruções de configuraçã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 acima (sintaxe diferente), texldb - ps, texldp - ps
Novos registos:
ps_2_x Caraterísticas
Novas funcionalidades (Ver D3DPSHADERCAPS2_0.):
- Controlo dinâmico do fluxo
- Controlo de fluxo estático
- Aninhamento para instruções de controle de fluxo dinâmico e estático
- Número de Registo Temporários (r#) aumentado
- Fonte arbitrária swizzle
- Instruções de gradiente
- Predicação
- Sem limite de leitura de textura dependente
- Sem limite de instruções de textura
Novas instruções:
- Instruções de controle de fluxo estático - if bool - ps, call - ps, callnz bool - ps, else - ps, endif - ps, rep - ps, endrep - ps, rótulo - ps, ret - ps
- Instruções de controle de fluxo dinâmico - break - ps, break_comp - ps, breakp - ps, callnz pred - ps, if_comp - ps, se pred - ps, setp_comp - ps
- Instruções aritméticas - dsx - ps, dsy - ps
- Instruções de textura - texldd - ps
Novos registos:
ps_3_0 Caraterísticas
Novos recursos:
- Consolidado 10 Registro de entradas (v#)
- Registro de cores de entrada de indexável (v#) com o de registro do contador de loops (aL)
- Número de Registo Temporários (r#) aumentado para 32
- Número de Constant Float Registers (c#) aumentou para 224
Novas instruções:
- Instruções de configuraçã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ções de textura - texldl - ps
Novos registos:
- Registro de entrada (v#)
- de Registo de Posições (vPos)
- de Registo Facial (vFace)
Tópicos relacionados