Condividi tramite


vs_2_x

Un vertex shader programmabile è costituito da un set di istruzioni che operano sui dati dei vertici. Registra i dati di trasferimento all'interno e all'esterno dell'ALU. È possibile applicare un controllo aggiuntivo per modificare l'istruzione, i risultati o i dati scritti.

La versione del vertex shader vs_2_x estende il set di funzionalità supportato da vs_2_0. Ogni funzionalità aggiuntiva è rappresentata da un limite corrispondente nella struttura D3DCAPS9 all'interno di D3DVS20CAPS. Per usare una delle funzionalità avanzate rappresentate da questi limiti, è necessario specificare la versione del vertex shader come vs_2_x.

Nuove funzionalità

Le nuove funzionalità sono le seguenti:

Controllo flusso dinamico

Se D3DVS20CAPS> 0, sono supportate le istruzioni seguenti per il controllo del flusso dinamico:

Se è impostata anche D3DVS20CAPS, sono supportate le istruzioni aggiuntive di controllo del flusso seguenti:

L'intervallo di valori per la profondità del controllo del flusso dinamico è compreso tra 0 e 24 ed è uguale alla profondità di annidamento delle istruzioni di controllo del flusso dinamico (vedere limiti di annidamento del flusso per informazioni dettagliate). Se questo limite è zero, il dispositivo non supporta le istruzioni di controllo del flusso dinamico.

Numero di registri temporanei

D3DVS20CAPS rappresenta il numero di registro temporaneosupportato dal dispositivo. L'intervallo di valori per questo limite è compreso tra 12 e 32.

Profondità annidamento controllo flusso statico

D3DVS20CAPS rappresenta la profondità di annidamento di due tipi di istruzioni di controllo del flusso statico: ciclo - vs/rep - vs e chiamata - vs/callnz bool - vs/if bool - vs. loop - vs/rep - le istruzioni possono essere annidate fino a D3DVS20CAPS profondità. In modo indipendente, chiamare - vs/callnz bool - vs le istruzioni possono essere annidate fino a D3DVS20CAPS profondità. Se D3DVS20CAPS è impostato anche, callnz pred - vs viene conteggiato per la profondità di annidamento della chiamata - vs/callnz bool - vs/if bool - vs (vedere limiti di annidamento del controllo del flusso).

Predicazione

Se D3DVS20CAPS è impostato, il dispositivo supporta setp_comp - vs e predicato di istruzione. Se D3DVS20CAPS è anche maggiore di 0, sono supportate le seguenti istruzioni aggiuntive per il controllo del flusso dinamico:

Conteggio istruzioni

Ogni vertex shader può avere fino a 256 istruzioni archiviate. Il numero di istruzioni eseguite può essere molto più elevato (a causa del supporto del ciclo o del repository) ed è limitato da D3DCAPS9, che deve essere almeno 0xFFFF.

vertex shader