funzione di callback DXGKDDI_DSIRESET (dispmprt.h)
Sintassi
DXGKDDI_DSIRESET DxgkddiDsireset;
NTSTATUS DxgkddiDsireset(
[in] HANDLE Context,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
[out] PDXGK_DSI_RESET pArgs
)
{...}
Parametri
[in] Context
[in] TargetId
Identificatore di destinazione del monitoraggio.
[out] pArgs
Puntatore a una struttura DXGI_DSI_CAPS .
Valore restituito
DxgkddiDsiReset restituisce STATUS_SUCCESS se ha esito positivo; in caso contrario, restituisce uno dei codici di errore definiti in Ntstatus.h.
Commenti
Se il driver del pannello OEM rileva che il pannello è in uno stato non valido, invia un IOCTL_MIPI_DSI_RESET per richiedere un ripristino del dispositivo sotto il driver grafico e il controllo del sistema operativo. Una reimpostazione è necessariamente un'operazione di peso elevato che causerà la visualizzazione di spazi vuoti per più fotogrammi e pertanto deve essere usata solo come ultima risorsa.
Non è possibile continuare l'operazione normale del pannello durante l'elaborazione di un ripristino in modo che il sistema operativo lo consideri molto simile a una modifica della modalità di visualizzazione, lo scaricamento dell'attività GPU in sospeso, inclusi eventuali capovolgimenti e il blocco di nuovi lavori fino al completamento. Il sistema operativo converte IOCTL in una chiamata DDI DxgkDsiReset . Il driver dovrebbe rimuovere completamente l'alimentazione dal pannello e reinizializzare l'alimentazione da zero, e dopo il ritardo appropriato, eseguire tutte le azioni necessarie per ripristinare il pannello in uno stato funzionante prima di tornare. Se impostato, il SecondaryPort
flag indica che la reimpostazione deve essere destinata a un pannello secondario anziché a quello primario.
Se il driver grafico richiede un set di modalità completa per eseguire o ripristinare da una reimpostazione del pannello, deve impostare il flag NeedModeSet
di output . Se impostato al ritorno dalla chiamata, il sistema operativo risponderà con una chiamata DxgkDdiSetTimingsFromVidPn prima di sbloccare l'attività normale. Il driver può scegliere di rinviare parte del lavoro di reimpostazione a questa chiamata, se necessario, purché sia previsto uno stato funzionante dopo la chiamata di temporizzazione impostata.
Il driver grafico deve segnalare eventuali errori MIPI di basso livello rilevati e non gestiti dal driver tramite il MipiErrors
campo di output.
Se si verifica un errore irreversibile durante la reimpostazione, il driver di grafica deve impostare il ResetFailed
flag di output. Si prevede che si tratta di un errore irreversibile. Il driver di grafica dovrebbe anche segnalare che non è disponibile alcun display sulla destinazione indicando che si è verificato un scollegamento usando il callback DxgkCbIndicateConnectorChange e quindi rispondendo a DxgkDdiQueryConnectionChange segnalando un Oggetto TargetStatusDisconnected per la destinazione che non è riuscita.
I campi di output verranno propagati nuovamente al buffer di output di IOCTL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 2004 |
Intestazione | dispmprt.h |