Partilhar via


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

Confira também

DXGKARG_CONTROLINTERRUPT2

DXGK_DRIVERCAPS

DXGKARG_CONTROLINTERRUPT3

DxgkDdi_ControlInterrupt2