Condividi tramite


Supporto della rotazione in un driver Miniport visualizzato

Una funzione dxgkDdiEnumVidPnCofuncModality visualizza la funzione pfnUpdatePathSupportInfo per segnalare il supporto della rotazione per ogni percorso in una topologia di rete video presente (VidPN). Per altre informazioni sul supporto della rotazione dei report, vedere Enumerazione delle modalità di origine e destinazione di Cofunctional VidPN.

Il sottosistema kernel grafico Microsoft DirectX usa dimensioni di superficie non ruotate per creare la superficie primaria condivisa. Per inviare una notifica a un driver miniport visualizzato per ruotare la superficie, il sottosistema kernel della grafica DirectX specifica i valori D3DKMDT_VIDPN_PRESENT_PATH_ROTATION tipizzati nel membro Rotazionedella struttura D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION specificata nel membro ContentTransformationdella struttura D3DKMDT_VIDPN_PRESENT_PATH nelle chiamate alla visualizzazione miniport driver DxgkDdiCommitVidPn e DxgkDdiUpdateActiveVidPresentPath Funzioni.

Nota Tutti i gradi di rotazione sono definiti nella direzione antiorario, che è coerente con il modo in cui GDI definisce la rotazione.

Quando il sottosistema DirectX informa il driver miniport visualizzato di ruotare la superficie, il driver deve ruotare i dati di superficie solo se il flag Ruota campo bit è stato impostato nel membro Flag della struttura DXGKARG_PRESENT a cui il parametro pPresent punta in una chiamata alla funzione DxgkDdiPresent del driver. Anche se il driver determina che l'orientamento corrente dello schermo viene ruotato dai dati della presentazione e Ruota non è stato impostato, il driver non deve ruotare i dati.

Comportamento in modalità clone

La modalità clone è una modalità in cui un video presente nell'origine si connette a più destinazioni video presenti attraverso più percorsi in una rete video presente. Per altre informazioni sulle reti video presenti, vedere Più monitoraggi e reti video presenti.

Un driver miniport visualizzato gestisce la rotazione in modo diverso se opera in modalità clone perché ogni destinazione potrebbe richiedere una rotazione diversa. Il sistema operativo, varie versioni dei runtime di Microsoft DirectX e i client in modalità utente rilevano solo l'orientamento del video primario presente nella destinazione. Pertanto, il contenuto nel video presente origine corrisponderà sempre all'orientamento del video primario presente nella destinazione.

Nella tabella seguente viene illustrato come si comporta un driver miniport visualizzato in modalità clone per tutte le situazioni pertinenti. L'impostazione del flag Ruota è l'impostazione del campo Ruota bit nel membro Flag della struttura DXGKARG_PRESENT.

Destinazione primaria Destinazione secondaria Ruota flag Comportamento del driver

Non ruotato

Non ruotato

Non impostato

Il driver non esegue alcuna rotazione.

Non ruotato

Ruotato

Non impostato

Il driver ruota la destinazione secondaria anche se il flag Ruota non è impostato.

Ruotato

Non ruotato

Set

Il driver ruota la destinazione primaria, ma non la destinazione secondaria.

Ruotato

Non ruotato

Non impostato

Poiché Ruota non è impostato, il driver non ruota la destinazione primaria. Poiché la destinazione secondaria non corrisponde all'orientamento del contenuto nell'origine, il driver deve ruotare la destinazione secondaria.

Questa situazione si verifica quando il client è a conoscenza della rotazione e ha già orientato correttamente il contenuto dell'origine. Pertanto, il sistema operativo non imposta Ruota.

Ruotato

Ruotato

Set

Il driver ruota sia le destinazioni primarie che secondarie.

Ruotato

Ruotato

Non impostato

Il client con riconoscimento della rotazione ha già orientato correttamente il contenuto dell'origine. Pertanto, non è necessaria alcuna rotazione aggiuntiva.

Requisiti in modalità clone a partire da Windows 8.1 Update

A partire da Windows 8.1 Update, i driver devono soddisfare questi requisiti. Se la firma di test è abilitata, si verificherà un controllo di bug di sistema se un driver non riesce a soddisfare questi requisiti.

Percorso clone primario
Definizione: Percorso che include il monitoraggio di destinazione che duplica la visualizzazione dell'origine, ad esempio un monitor esterno che duplica lo schermo in un computer portatile.

Requisito: Nel percorso del clone primario, il driver deve impostare Offset0 su TRUE e gli altri 3 valori di offset in D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT su FALSE.

Nel caso di una visualizzazione di origine verticale, il percorso di clonazione primaria non è in modo di rotazione. Ciò significa che il percorso clone primario ha sempre un offset pari a zero (D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT. Offset0 è TRUE) e Desktop Window Manager (DWM) ruota il contenuto in anticipo per corrispondere all'orientamento appropriato.

Il percorso clone primario determina la frequenza di aggiornamento del monitoraggio per tutte le destinazioni di clonazione primaria e secondaria.

Percorso clone secondario
Definizione: Percorso che include qualsiasi monitoraggio di destinazione aggiuntivo, non parte del percorso di clonazione primaria, che duplica anche la visualizzazione dell'origine.

Requisito: Nel percorso del clone secondario, il driver deve impostare almeno uno dei 4 valori di offset in D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORTsu TRUE. Se il driver non supporta la rotazione indipendente dal percorso, deve impostare Offset0 su TRUE in tutti i percorsi cloni secondari.

Ecco due esempi di impostazioni che il driver deve eseguire se supporta la rotazione indipendente dal percorso:

Esempio orizzontale
Se la visualizzazione dell'origine e la destinazione nel percorso clone secondario sono entrambi monitoraggi orizzontale, nel percorso del clone secondario il driver verrà impostato D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT. Offset0 su TRUE e gli altri 3 valori di offset in D3DKMDT_VIDPN_PRESENT_PATH_ROTATION_SUPPORT su FALSE. In alternativa, nel percorso clone secondario il driver imposta sia Offset0 che Offset180 su TRUE e gli altri valori di offset su FALSE.

Esempio verticale
Se la visualizzazione di origine è un dispositivo verticale e si connette a un monitor esterno orizzontale, nel percorso del clone secondario il driver imposta Offset270 o Offset90 su TRUE.

Per altre informazioni, vedere Supporto Path-Independent rotazione.