Condividi tramite


Fornire transizioni di stato senza problemi in WDDM 1.2 e versioni successive

A partire da Windows 8, diverse funzionalità consentono di ridurre al minimo o eliminare i flash dello schermo e i tasti di avvio durante il processo di avvio, durante le transizioni da stati di alimentazione inferiori e durante le transizioni al controllo del sistema operativo negli aggiornamenti del driver o nei controlli di bug del sistema. Inoltre, il firmware di sistema nei computer Windows 8 e versioni successive deve rilevare la risoluzione nativa e la tempistica del pannello di visualizzazione integrato al momento dell'accensione e consegnare queste informazioni al sistema operativo. I driver miniport di visualizzazione windows (WDDM) 1.2 e versioni successive devono supportare questo comportamento.

Versione minima di WDDM 1,2
Versione minima di Windows 8
Implementazione del driver: solo grafica completa e visualizzazione Obbligatorio
Requisiti e test WHCK

System.Client.Firmware.UEFI.GOP.Display

Device.Graphics... PnpStopStartSupport

Device.Graphics... DisplayOutputControl

Transizione dal firmware al sistema operativo

Tutti i sistemi Windows 8 destinati agli SKU client devono supportare il protocollo GOP (Unified Extensible Firmware Interface) (UEFI). Durante la fase di avvio, GOP imposta la tempistica nativa e la risoluzione nativa nel pannello di visualizzazione integrato del sistema. Quando il sistema operativo è pronto per acquisire la proprietà dello schermo, GOP passa un buffer cornice che può essere usato per eseguire l'analisi sullo schermo. In questo momento il sistema operativo non tenta di reimpostare i tempi di visualizzazione o la risoluzione, ma usa semplicemente il buffer dei fotogrammi fornito, eliminando così un flash dello schermo.

Requisiti di certificazione hardware

Per informazioni sui requisiti che i dispositivi hardware devono soddisfare quando implementano questa funzionalità, fare riferimento alla documentazione WHCK pertinente su System.Client.Firmware.UEFI.GOP.Display.

Transizione dal sistema operativo al driver

Quando il sistema operativo passa la proprietà dello schermo al driver WDDM dopo un avvio, avvia un avvio Plug and Play (PnP) del dispositivo chiamando la funzione DxgkDdiStartDevice. In alternativa, dopo la ripresa dall'ibernazione, il sistema operativo avvia il dispositivo chiamando la funzione DxgkDdiSetPowerState con il parametro DeviceUid impostato su DISPLAY_ADAPTER_HW_ID (definito in Video.h). In questo momento lo schermo è in genere vuoto (viene visualizzato come nero) mentre il driver di grafica WDDM assume il controllo.

Il driver può chiamare la funzione DxgkCbAcquirePostDisplayOwnership (disponibile a partire da Windows 8) per eseguire una query sul sistema operativo per ottenere lo stato esatto del buffer frame corrente e la modalità di visualizzazione impostata dal firmware e dal caricatore di avvio. Con le informazioni nella struttura DXGK_DISPLAY_INFORMATION recuperata da questa funzione, è possibile che il driver mantenga attivo il controller di visualizzazione e non causi una nuova sincronizzazione del monitor. Poiché il driver include anche informazioni dettagliate sul buffer dei fotogrammi, è possibile eseguire una transizione più fluida.

Altri dettagli sull'avvio PnP sono disponibili in Plug and Play (PnP) in WDDM 1.2 e versioni successive.

Transizione dal driver al sistema operativo

Il sistema operativo può richiedere un arresto PnP del dispositivo di visualizzazione chiamando la funzione DxgkDdiStopDevice . In questo momento lo schermo viene in genere vuoto (viene visualizzato come nero) mentre il sistema operativo acquisisce il controllo dello schermo. Il sistema operativo può chiamare la funzione DxgkDdiStopDeviceAndReleasePostDisplayOwnership (disponibile a partire da Windows 8) che richiede al driver WDDM di configurare un buffer di frame configurato per l'analisi. Il sistema operativo può eseguire il rendering in questo buffer di fotogrammi mentre è in controllo dello schermo, rendendo possibile eseguire una transizione senza problemi.

Altre informazioni sull'arresto di PnP, inclusi gli scenari aggiuntivi, sono disponibili in Plug and Play (PnP) in WDDM 1.2 e versioni successive.

Requisiti di certificazione hardware

Per altre info su questo handoff, vedere la documentazione relativa a WHCK su Device.Graphics... PnpStopStartSupport.

Transizione al sistema operativo senza disabilitare il driver

A volte il sistema operativo riscontra un errore irreversibile e deve eseguire un controllo di bug del sistema. In questo caso, ci sono alcuni casi in cui il sistema operativo deve assumere il controllo dello schermo, ma non ha la possibilità di arrestare il driver WDDM. I driver WDDM 1.2 e versioni successive sono necessari per implementare le funzioni DxgkDdiSystemDisplayEnable e DxgkDdiSystemDisplayWrite , che consentono al sistema operativo di passare facilmente a uno stato in cui può visualizzare la schermata di errore mantenendo l'interfaccia grafica a una risoluzione elevata e profondità di colore. Questa transizione elimina un'esperienza utente con estensione.

Requisiti di certificazione hardware

Per informazioni sui requisiti che i dispositivi hardware devono soddisfare quando implementano questa funzionalità, fare riferimento alla documentazione WHCK pertinente in Device.Graphics... DisplayOutputControl.

modifiche alla modalità firmware Windows 8

Queste sono le modifiche apportate alla modalità di visualizzazione del firmware prima che il firmware disegni il controllo al sistema operativo:

Driver WDDM 1.2 e versioni successive (DXGKDDI_INTERFACE_VERSION>= DXGKDDI_INTERFACE_VERSION_WIN8)
Per eliminare ulteriormente i flash di visualizzazione, a partire da Windows 8, le richieste di modifica della modalità Int10 non vengono chiamate sul firmware per i driver WDDM 1.2 e versioni successive.

Inoltre, se si verifica una modifica della modalità mentre il monitoraggio è disattivato, il sistema operativo chiama la funzione DxgkDdiCommitVidPnPn una sola volta, con il parametro pCommitVidPnArg impostato sul valore che avrebbe se il monitor fosse attivato e il membro PathPoweredOff di pCommitVidPnArg-Flags> impostato su TRUE.

Driver WDDM 1.0 e 1.1 (DXGKDDI_INTERFACE_VERSION DXGKDDI_INTERFACE_VERSION_WIN8<)
Per i driver WDDM versione 1.0 e 1.1 in esecuzione su Windows 8, durante il processo di avvio o quando si riprende dall'ibernazione, vengono effettuate chiamate in modalità Int10 VGA 0x12 che impostano la risoluzione dello schermo sulla risoluzione elevata nativa del monitor. Prima di Windows 8, una modalità VGA int10 0x12 chiamata imposta la risoluzione dello schermo su 640 x 480 pixel, a 16 bit per pixel, senza cursore lampeggiante, per visualizzare l'immagine della schermata iniziale del sistema operativo.

Tuttavia, per i driver WDDM 1.0 e 1.1 che indicano che non supportano la modalità ad alta risoluzione, a partire da Windows 8 un avvio in modalità VGA 0x12 imposta la risoluzione dello schermo su 640 x 480 pixel, a 16 bit per pixel, senza cursore lampeggiante. Quando il sistema riprende dall'ibernazione, la risoluzione dello schermo verrà comunque impostata sulla risoluzione elevata nativa del monitor.

Inoltre, se si verifica una modifica della modalità mentre il monitoraggio è disattivato, il sistema operativo chiama la funzione DxgkDdiCommitVidPn come descritto in precedenza per i driver WDDM 1.2, più chiama DxgkDdiCommitVidPn una seconda volta con una rete virtuale vuota (VidPN) in pCommitVidPnArg-hFunctionalVidPn> e nessuno dei valori di flag impostati in pCommitVidArg-Flags.>

Questa sequenza di chiamata in due parti si verifica anche quando il sistema riprende dopo l'ibernazione e monitora la generazione della sincronizzazione deve rimanere abilitata. In questo caso il driver non deve eseguire alcuna azione quando riceve la seconda chiamata a DxgkDdiCommitVidPn.