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 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.
- Os Modificadores de Registro do Sombreador de Vértice são usados para modificar a maneira como uma instrução funciona.
- Os Modificadores de Registro de Origem do Sombreador de Vértice alteram os dados de registro de origem antes da execução da instrução.
- O Registro de Origem Swizzling fornece controle adicional sobre quais componentes de registro são lidos, copiados ou gravados.
- 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, as seguintes instruções de controle de fluxo dinâmico serão compatíveis:
Se D3DVS20CAPS também estiver definido, as seguintes instruções adicionais de controle de fluxo serão compatíveis:
O intervalo de valores para a profundidade do 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 Registros Temporárioscompatíveis com o dispositivo. O intervalo de valores para esse limite é de 12 a 32.
Profundidade de aninhamento de 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 call - vs/callnz bool - vs/if bool - vs. loop - vs/rep - vs instruções podem ser aninhadas até D3DVS20CAPS profundo. Independentemente, chame - vs/callnz bool - vs instruções podem ser aninhadas até D3DVS20CAPS profundo. 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).
Predicação
Se D3DVS20CAPS estiver definido, o dispositivo oferecerá suporte à predefinição de instruções setp_comp - vs . Se D3DVS20CAPS também for maior que 0, as seguintes instruções adicionais de controle de fluxo dinâmico serão compatíveis:
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