DXGKDDI_DSIRESET fonction de rappel (dispmprt.h)

Syntaxe

DXGKDDI_DSIRESET DxgkddiDsireset;

NTSTATUS DxgkddiDsireset(
  [in]  HANDLE Context,
  [in]  D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
  [out] PDXGK_DSI_RESET pArgs
)
{...}

Paramètres

[in] Context

[in] TargetId

Identificateur cible du moniteur.

[out] pArgs

Pointeur vers une structure DXGI_DSI_CAPS .

Valeur retournée

DxgkddiDsiReset retourne STATUS_SUCCESS si elle réussit ; sinon, il retourne l’un des codes d’erreur définis dans Ntstatus.h.

Remarques

Si le pilote du panneau OEM détecte que le panneau est dans un état incorrect, il envoie un IOCTL_MIPI_DSI_RESET pour demander une réinitialisation de l’appareil sous le pilote graphique et le contrôle du système d’exploitation. Une réinitialisation est nécessairement une opération lourde qui entraîne le videment de l’affichage pour plusieurs images et ne doit donc être utilisée qu’en dernier recours.

Le fonctionnement normal du panneau ne peut pas être poursuivi lors du traitement d’une réinitialisation, de sorte que le système d’exploitation le traitera de la même manière qu’un changement de mode d’affichage, vider l’activité GPU en attente, y compris les basculements, et bloquer le nouveau travail jusqu’à ce qu’il soit terminé. Le système d’exploitation traduit le IOCTL en un appel DDI DxgkDsiReset . Le pilote doit complètement supprimer l’alimentation du panneau et le réinitialiser à partir de zéro, et après le délai approprié, effectuer toutes les actions nécessaires afin de restaurer le panneau à un état utilisable avant de revenir. Lorsqu’il est défini, l’indicateur SecondaryPort indique que la réinitialisation doit être ciblée sur un panneau secondaire plutôt que sur le panneau principal.

Si le pilote graphique nécessite un ensemble de modes complets pour effectuer ou restaurer à partir d’une réinitialisation du panneau, il doit définir l’indicateur NeedModeSetde sortie . S’il est défini lors du retour de l’appel, le système d’exploitation répond avec un appel DxgkDdiSetTimingsFromVidPn avant de débloquer l’activité normale. Le pilote peut choisir de reporter une partie du travail de réinitialisation à cet appel si nécessaire, à condition qu’un état utilisable soit attendu après l’appel défini.

Le pilote graphique doit signaler toutes les erreurs MIPI de bas niveau détectées et non gérées par le pilote via le champ de MipiErrors sortie.

Si une erreur irrécupérable se produit pendant la réinitialisation, le pilote graphique doit définir l’indicateur de ResetFailed sortie. Il s’agit d’une défaillance catastrophique. Le pilote graphique doit également signaler qu’aucun affichage n’est disponible sur la cible en indiquant qu’un débranchement s’est produit à l’aide du rappel DxgkCbIndicateConnectorChange , puis en répondant à DxgkDdiQueryConnectionChange en signalant un TargetStatusDisconnected pour la cible qui a échoué.

Les champs de sortie sont propagés vers la mémoire tampon de sortie du IOCTL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 2004
En-tête dispmprt.h

Voir aussi

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET