Sombreadores de software

Os sombreadores de software são implementados para permitir o desenvolvimento de sombreadores sem suporte de hardware subjacente. Eles dão suporte ao conjunto de recursos completo. Como eles são implementados no software, eles não produzirão o melhor desempenho.

Versão Conjunto de recursos Requisitos
vs_2_sw Todos os recursos do vs_2_x Compatível apenas com o processamento de vértice de software e um dispositivo de referência.
vs_3_sw Todos os recursos do vs_3_0 Compatível apenas com o processamento de vértice de software e um dispositivo de referência.
ps_2_sw Todos os recursos do ps_2_x Compatível apenas com um dispositivo de referência.
ps_3_sw Todos os recursos do ps_3_0 Compatível apenas com um dispositivo de referência.

 

Algumas validações são relaxadas para sombreadores de software. Isso é útil para fins de depuração e prototipagem. As seguintes validações são relaxadas: (todas as outras validações permanecem as mesmas)

Tipo de validação Relaxamento
Contagens de instruções: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. Instruções ilimitadas são permitidas.
Contagens de constantes float: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. Até 8.192 constantes são permitidas.
Contagens constantes de inteiros: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. Até 2048 constantes são permitidas.
Contagens de constantes boolianas: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. Até 2048 constantes são permitidas.
Profundidade de leitura dependente: Isso é relaxado para ps_2_sw. Como em vs_3_0 e ps_3_0, leituras dependentes ilimitadas são permitidas.
Número de instruções e rótulos de controle de fluxo: Isso é relaxado para vs_2_sw. Instruções ilimitadas de controle de fluxo e até 2048 rótulos são permitidos.
Contagem/início/etapa de loop: Estes são relaxados para vs_2_sw, vs_3_sw, ps_2_sw e ps_3_sw. O tamanho da etapa de inicialização e interação para instruções de rep e loop são intergers com sinal de 32 bits. A contagem de interação pode ser de até MAX_INT/64.
Limites de porta de leitura: vs_2_sw, vs_3_sw, ps_2_sw e ps_3_sw não têm limite de porta de leitura.
Número de interpoladores: Há 16 Registros – vs_3_0 (o#) em vs_3_sw e 10 registros de ps_3_0 (v#) para ps_3_sw.

 

Referência do sombreador asm