Partilhar via


Sombreadores de software

Os sombreadores de software são implementados para permitir o desenvolvimento de sombreadores sem suporte de hardware subjacente. Eles suportam o conjunto completo de recursos. Por serem implementados em software, não produzirão o melhor desempenho.

Versão Conjunto de recursos Requerimentos
vs_2_sw Todas as características do vs_2_x Apenas suportado por software de processamento de vértices e um dispositivo de referência.
vs_3_sw Todas as características do vs_3_0 Apenas suportado por software de processamento de vértices e um dispositivo de referência.
ps_2_sw Todas as características do ps_2_x Apenas suportado por um dispositivo de referência.
ps_3_sw Todas as características do ps_3_0 Apenas suportado por 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
Contagem 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 constantes de flutuação: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. São permitidas até 8192 constantes.
Contagens de constantes inteiras: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. São permitidas até 2048 constantes.
Contagens de constantes booleanas: Isso é relaxado para vs_2_sw, vs_3_sw e ps_2_sw, ps_3_sw. São permitidas até 2048 constantes.
Profundidade de leitura dependente: Isso é relaxado para ps_2_sw. Como no vs_3_0 e ps_3_0, leituras dependentes ilimitadas são permitidas.
Número de instruções e etiquetas de controlo do fluxo: Isso é relaxado para vs_2_sw. São permitidas instruções ilimitadas de controlo de fluxo e até 2048 etiquetas.
Contagem de loops/início/passo: Estes são relaxados para vs_2_sw, vs_3_sw, ps_2_sw e ps_3_sw. O início da iteração e o tamanho da etapa de iteração para instruções de rep e loop são inteiros assinados de 32 bits. A contagem de iterações pode ser de até MAX_INT/64.
Limites da 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: Existem 16 Registers - vs_3_0 (o#) em vs_3_sw e 10 ps_3_0 Registers (v#) para ps_3_sw.

 

de referência Asm Shader