Compartir a través de


DXGKDDI_DSIRESET función de devolución de llamada (dispmprt.h)

Sintaxis

DXGKDDI_DSIRESET DxgkddiDsireset;

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

Parámetros

[in] Context

[in] TargetId

Identificador de destino del monitor.

[out] pArgs

Puntero a una estructura DXGI_DSI_CAPS.

Valor devuelto

dxgkddiDsiReset devuelve STATUS_SUCCESS si se realiza correctamente; de lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.

Observaciones

Si el controlador del panel OEM detecta que el panel está en un estado incorrecto, envía un IOCTL_MIPI_DSI_RESET para solicitar un restablecimiento del dispositivo en el controlador de gráficos y el control del sistema operativo. Un restablecimiento es necesariamente una operación de peso pesado que provocará la visualización en blanco para varios fotogramas y, por lo tanto, solo debe usarse como último recurso.

No se puede continuar la operación normal del panel mientras se procesa un restablecimiento, por lo que el sistema operativo lo tratará de forma muy similar a un cambio en modo de visualización, vaciando la actividad de GPU pendiente, incluidos los volteos y bloqueando el nuevo trabajo hasta que se complete. El sistema operativo traduce el IOCTL en una llamada DxgkDsiReset DDI. El controlador debe quitar completamente la energía del panel y reinicializarla desde cero, y después del retraso adecuado, realice las acciones que necesita para restaurar el panel a un estado que se pueda trabajar antes de volver. Cuando se establece, la marca SecondaryPort indica que el restablecimiento debe dirigirse a un panel secundario en lugar de a la principal.

Si el controlador de gráficos requiere un conjunto de modo completo para realizar o restaurar desde un restablecimiento del panel, debe establecer la marca de salida NeedModeSet. Si se establece tras la devolución de la llamada, el sistema operativo responderá con un DxgkDdiSetTimingsFromVidPn llamada antes de desbloquear la actividad normal. El controlador puede optar por aplazar parte del trabajo de restablecimiento a esta llamada si es necesario, siempre que se espere un estado de trabajo siguiendo la llamada a los intervalos establecidos.

El controlador de gráficos debe notificar los errores miPI de bajo nivel detectados y no administrados por el controlador a través del campo de salida MipiErrors.

Si se produce un error irrecuperable durante el restablecimiento, el controlador de gráficos debe establecer la marca de salida ResetFailed. Esto se espera que sea un error catastrófico. El controlador de gráficos también debe indicar que no hay ninguna pantalla disponible en el destino indicando que se ha producido un desconecte con el DxgkCbIndicateConnectorChange devolución de llamada y, a continuación, respondiendo a DxgkDdiQueryConnectionChange notificando un TargetStatusDisconnected para el destino que ha fallado.

Los campos de salida se propagarán de nuevo al búfer de salida del IOCTL.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10, versión 2004
encabezado de dispmprt.h

Consulte también

DxgkCbIndicateConnectorChange

dxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET