vs_2_x
Um sombreador de vértice programável é composto por um conjunto de instruções que operam em dados de vértice. Registra dados de transferência dentro e fora da ALU. Controle adicional pode ser aplicado para modificar a instrução, os resultados ou quais dados são gravados.
A versão do sombreador de vértice vs_2_x estende o conjunto de recursos compatível com vs_2_0. Cada recurso adicional é representado por um limite correspondente na estrutura de D3DCAPS9 dentro de D3DVS20CAPS. Para usar qualquer um dos recursos aprimorados representados por essas tampas, a versão do sombreador de vértice deve ser especificada como vs_2_x.
- Instruções – vs_2_x contém uma lista das instruções disponíveis.
- Registros – vs_2_x lista os diferentes tipos de registros usados pela ALU do sombreador de vértice.
- modificadores de registro de sombreador de vértice são usados para modificar a maneira como uma instrução funciona.
- Modificadores do Registro de Origem do Sombreador de Vértice alterar os dados do registro de origem antes da execução da instrução.
- registro de origem Swizzling fornece controle adicional sobre quais componentes de registro são lidos, copiados ou gravados.
- de Máscara de Registro de Destino determina quais componentes do registro de destino são gravados.
Novos recursos
Os novos recursos são os seguintes:
Controle de fluxo dinâmico
Se D3DVS20CAPS> 0, há suporte para as seguintes instruções de controle de fluxo dinâmico:
- if_comp - vs
- quebra de - vs
- break_comp - vs
Se D3DVS20CAPS também estiver definido, as seguintes instruções adicionais de controle de fluxo serão compatíveis:
- setp_comp - vs
- se antes - vs
- callnz pred - vs
- quebra de - vs
O intervalo de valores para profundidade de controle de fluxo dinâmico é de 0 a 24 e é igual à profundidade de aninhamento das instruções de controle de fluxo dinâmico (consulte limites de aninhamento de controle de fluxo para obter detalhes). Se esse limite for zero, o dispositivo não oferecerá suporte a instruções de controle de fluxo dinâmico.
Número de registros temporários
D3DVS20CAPS representa o número de de Registro Temporário com suporte do dispositivo. O intervalo de valores para esse limite é de 12 a 32.
Profundidade de aninhamento do controle de fluxo estático
D3DVS20CAPS representa a profundidade de aninhamento de dois tipos de instruções de controle de fluxo estático: loop - vs/rep - vs e chamada - vs/callnz bool - vs/if bool - vs. loop - vs/rep - vs instruções podem ser aninhadas até D3DVS20CAPS profundas. Independentemente, chamar - vs/callnz bool - vs instruções pode ser aninhada até D3DVS20CAPS profunda. Se D3DVS20CAPS também estiver definido, callnz pred - vs é contado em direção à profundidade de aninhamento de chamada - vs/callnz bool - vs/if bool - vs (consulte limites de aninhamento de controle de fluxo para obter detalhes).
Pré-indicação
Se D3DVS20CAPS estiver definido, o dispositivo oferecerá suporte a setp_comp - vs e à precação de instrução. Se D3DVS20CAPS também for maior que 0, as seguintes instruções adicionais de controle de fluxo dinâmico serão compatíveis:
- se antes - vs
- callnz pred - vs
- quebra de - vs
Contagem de instruções
Cada sombreador de vértice pode ter até 256 instruções armazenadas. O número de instruções executadas pode ser muito maior (devido ao suporte a loop/rep) e é limitado por D3DCAPS9, que deve ser pelo menos 0xFFFF.
Tópicos relacionados