DXGKDDI_DSIRESET função de retorno de chamada (dispmprt.h)
Sintaxe
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 do monitor.
[out] pArgs
Ponteiro para uma estrutura DXGI_DSI_CAPS .
Retornar valor
DxgkddiDsiReset retornará STATUS_SUCCESS se tiver êxito; caso contrário, retornará um dos códigos de erro definidos em Ntstatus.h.
Comentários
Se o driver do painel OEM detectar que o painel está em um estado inválido, ele enviará uma IOCTL_MIPI_DSI_RESET para solicitar uma redefinição do dispositivo em driver gráfico e controle do sistema operacional. Uma redefinição é necessariamente uma operação pesada que causará o espaço em branco para vários quadros e, portanto, só deve ser usada como último recurso.
A operação normal do painel não pode ser continuada durante o processamento de uma redefinição, portanto, o sistema operacional a tratará de forma muito semelhante a uma alteração no modo de exibição, liberando a atividade de GPU pendente, incluindo quaisquer inversãos e bloqueando o novo trabalho até que seja concluída. O sistema operacional converte o IOCTL em uma chamada DDI DxgkDsiReset . O driver deve remover completamente a energia do painel e reinicializá-la do zero e, após o atraso apropriado, executar todas as ações necessárias para restaurar o painel para um estado viável antes de retornar. Quando definido, o SecondaryPort
sinalizador indica que a redefinição deve ser direcionada para um painel secundário em vez do primário.
Se o driver gráfico exigir um modo completo definido para executar ou restaurar a partir de uma redefinição de painel, ele deverá definir o sinalizador NeedModeSet
de saída . Se definido no retorno da chamada, o sistema operacional responderá com uma chamada DxgkDdiSetTimingsFromVidPn antes de desbloquear a atividade normal. O driver pode optar por adiar parte do trabalho de redefinição para essa chamada, se necessário, desde que um estado viável seja esperado após a chamada de intervalos definidos.
O driver gráfico deve relatar erros mipi de baixo nível detectados e não manipulados pelo driver por meio do MipiErrors
campo de saída.
Se ocorrer um erro irrecuperável durante a redefinição, o driver gráfico deverá definir o ResetFailed
sinalizador de saída. Espera-se que seja uma falha catastrófica. O driver gráfico também deve sinalizar que nenhuma exibição está disponível no destino indicando que ocorreu um desconectamento usando o retorno de chamada DxgkCbIndicateConnectorChange e, em seguida, respondendo a DxgkDdiQueryConnectionChange relatando um TargetStatusDisconnected para o destino que falhou.
Os campos de saída serão propagados de volta para o buffer de saída do IOCTL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 2004 |
Cabeçalho | dispmprt.h |