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 NeedModeSetde 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

Confira também

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET