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 de 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.
Comentarios
Si el controlador del panel OEM detecta que el panel está en mal estado, envía un IOCTL_MIPI_DSI_RESET para solicitar un restablecimiento del dispositivo bajo el controlador de gráficos y el control del sistema operativo. Un restablecimiento es necesariamente una operación de peso pesado que provocará que se muestre en blanco para varios fotogramas y, por lo tanto, solo se debe usar 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 de modo de visualización, el vaciado de la actividad de GPU pendiente, incluidos los volteos y el bloqueo del nuevo trabajo hasta que se complete. El sistema operativo traduce el IOCTL en una llamada DDI dxgkDsiReset . El controlador debe quitar completamente la energía del panel y reinicializarla desde cero y, después del retraso adecuado, realizar cualquier acción que necesite para restaurar el panel a un estado que pueda funcionar antes de volver. Cuando se establece, la SecondaryPort
marca 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 de panel, debe establecer la marca NeedModeSet
de salida . Si se establece tras la devolución de la llamada, el sistema operativo responderá con una llamada DxgkDdiSetTimingsFromVidPn 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 después de la llamada a 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 MipiErrors
campo de salida.
Si se produce un error irrecuperable durante el restablecimiento, el controlador de gráficos debe establecer la ResetFailed
marca de salida. Se espera que esto 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 la devolución de llamada DxgkCbIndicateConnectorChange y, a continuación, responder a DxgkDdiQueryConnectionChange notificando un TargetStatusDisconnected para el destino que ha producido un error.
Los campos de salida se propagarán de nuevo al búfer de salida del IOCTL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 2004 |
Encabezado | dispmprt.h |