DXGKDDI_CONTROLINTERRUPT3 função de retorno de chamada (d3dkmddi.h)
A função DxgkDdi_ControlInterrupt3 habilita ou desabilita o tipo de interrupção fornecido para o VidPnSourceId especificado no hardware gráfico.
Sintaxe
DXGKDDI_CONTROLINTERRUPT3 DxgkddiControlinterrupt3;
NTSTATUS DxgkddiControlinterrupt3(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_CONTROLINTERRUPT3 InterruptControl
)
{...}
Parâmetros
[in] hAdapter
Um identificador para o objeto do adaptador para a GPU (unidade de processamento gráfico). O driver retornou esse identificador no parâmetro MiniportDeviceContext de uma chamada para sua função DxgkDdiAddDevice .
[in] InterruptControl
Uma estrutura DXGKARG_CONTROLINTERRUPT3 que fornece o tipo de interrupção, o estado VSYNC e o VidPnSourceId.
Retornar valor
DxgkDdi_ControlInterrupt3 retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
STATUS_SUCCESS | O tipo de interrupção foi habilitado ou desabilitado com êxito no hardware gráfico. |
STATUS_NOT_IMPLEMENTED | DxgkDdi_ControlInterrupt3 não dá suporte à habilitação ou desabilitação do tipo de interrupção especificado. |
Comentários
O controle VSync é usado no WDDM para alternar VSync ON e OFF para equilibrar entre o uso ativo de uma fonte VidPn por um cenário e economia de energia obtida desativando o VSync. Em geral, o sistema operacional controla a lógica de quando o VSync deve permanecer ON e OFF e notifica o KMD (Driver do Modo Kernel IHV) por meio de uma chamada DDI. O KMD executa a solicitação. Antes de Windows 10, versão 2004 (WDDM 2.7), a granularidade do controle VSync é por adaptador; ou seja, para um determinado adaptador, o controle VSync se aplica a cada fonte VidPn do adaptador. Por exemplo, considere um adaptador que tenha duas fontes VidPn conectadas a duas saídas diferentes. Se uma saída não tiver nenhuma atividade e nenhum consumidor para VSync/VBlank nela, haverá apenas uma opção: o sistema operacional precisará manter o VSync ON para a saída inativa.
Para dispositivos portáteis de tela dupla, manter o VSync ligado por uma tela quando não for necessário tem custos significativos de energia. Ele requer que o link de exibição/controlador de exibição permaneça ativo e impede que os painéis que dão suporte à auto-atualização entrem em um modo de auto-atualização de baixa frequência e baixa potência. Em Windows 10, versão 2004 e versões posteriores, DxgkDdiControlInterrupt3 permite um controle VSync de granularidade mais fino de por Fonte VidPn de um adaptador.
Somente um dos DxgkDdiControlInterrupt3 ou DxgkDdi_ControlInterrupt2 será usado pelo sistema operacional durante o tempo de vida de um adaptador.
Os drivers WDDM 2.7 que não implementam DxgkDdi_ControlInterrupt3 estão optando por não usar o controle VidPn VSync independente, e o sistema operacional chamará apenas DxgkDdi_ControlInterrupt2. A funcionalidade DXGK_DRIVERCAPS-IndependentVidPnVSync> deve ser 0 em drivers que não dão suporte a DxgkDdi_ControlInterrupt3; caso contrário, o sistema operacional falhará na inicialização do adaptador. Se um driver implementar DxgkDdi_ControlInterrupt3, o recurso poderá ser definido como 0 ou 1 para indicar Per-VidPn suporte.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 2004 |
Cabeçalho | d3dkmddi.h |