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:

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