Esecuzione di query su funzionalità hardware VidPN
A partire da Windows 7, è necessario visualizzare i driver miniport per segnalare tutte le funzionalità hardware di un VidPN funzionale specificato. I driver devono supportare la funzione di callback seguente e le relative strutture associate:
DXGKARG_QUERYVIDPNHWCAPABILITY struttura
D3DKMDT_VIDPN_HW_CAPABILITY struttura
Quando il driver segnala le funzionalità hardware, deve considerare la clonazione come una procedura implicita eseguita come parte delle trasformazioni di rotazione o ridimensionamento: un'origine deve essere prima clonata prima di poter essere ruotata o ridimensionata.
Se uno dei membri di D3DKMDT_VIDPN_HW_CAPABILITY non ha alcun significato sul percorso VidPN specificato, la gestione modalità di visualizzazione (DMM) non segnala errori se i membri sono impostati su valori non zero. DMM cancella tutti questi valori prima di segnalarli al client in modalità utente. È tuttavia necessario impostare il valore del membro riservato di D3DKMDT_VIDPN_HW_CAPABILITY su 0.
Scenario di esempio
Per illustrare come il driver miniport visualizzato deve segnalare le funzionalità hardware, considerare il set di configurazioni hardware P1, P2 e P3 di esempio seguenti:
P1: Surface viene clonato da Source S1, quindi ruotato a 90 gradi e ridimensionato per adattare la destinazione.
P2: Surface viene clonato da Source S1, senza alcuna trasformazione applicata.
P3: L'origine S2 non ha alcuna trasformazione applicata.
Quando viene chiamato DxgkDdiQueryVidHWCapability , il driver deve restituire i valori per la rotazione, il ridimensionamento e la clonazione dei membri di D3DKMDT_VIDPN_HW_CAPABILITY in base alla tabella seguente:
I valori restituiti per i membri delle funzionalità hardware di D3DKMDT_VIDPN_HW_CAPABILITY VidPN Path DriverRotation DriverScaling DriverCloning Hardware possono eseguire tutte le trasformazioni di rotazione, ridimensionamento e clonazione.
P₁
0
0
0
P₂
0
0
0
P₃
0
0
0
L'hardware può eseguire tutte le trasformazioni tranne la clonazione
P₁
0
0
0
P₂
0
0
1
P₃
0
0
0
L'hardware può eseguire la clonazione e la scalabilità delle trasformazioni, ma non la rotazione. Il driver esegue la rotazione usando una rotazione intermedia blit.
P₁
1
0
0
P₂
0
0
0
P₃
0
0
0
L'hardware non può eseguire la clonazione, il ridimensionamento o le trasformazioni di rotazione. Queste operazioni vengono eseguite dal driver.
P₁
1
1
0
P₂
0
0
1
P₃
0
0
0