estrutura DXGKARG_COMMITVIDPN_FLAGS (d3dkmddi.h)
A estrutura DXGKARG_COMMITVIDPN_FLAGS identifica detalhes sobre uma chamada para a função DxgkDdiCommitVidPn.
Sintaxe
typedef struct _DXGKARG_COMMITVIDPN_FLAGS {
UINT PathPowerTransition : 1;
UINT PathPoweredOff : 1;
UINT Reserved : 30;
} DXGKARG_COMMITVIDPN_FLAGS;
Membros
PathPowerTransition
Um valor UINT que especifica se o subsistema de kernel de elementos gráficos do Microsoft DirectX chama a função DxgkDdiCommitVidPn para desligar um monitor conectado.
Se PathPowerTransition estiver definido como TRUE, o driver de miniporto de exibição poderá otimizar essa chamada para uma desligar (por exemplo, o driver pode desabilitar sincronizações verticais). O driver também deve estar ciente de que ainda pode receber chamadas para sua função DxgkDdiPresent na origem afetada.
Definir esse membro é equivalente a definir o primeiro bit de um valor de 32 bits (0x00000001).
Para obter mais informações, consulte a seção Comentários a seguir.
PathPoweredOff
Um valor UINT que especifica se o subsistema de kernel gráfico DirectX chama DxgkDdiCommitVidPn para informar ao driver que o usuário alterou os modos.
Se PathPoweredOff estiver definido como TRUE, o driver de miniporto de exibição deverá esperar operações atuais baseadas na nova topologia. O driver não pode executar nenhuma operação que faça com que o caminho da topologia seja ativado novamente (por exemplo, o driver não pode habilitar sincronizações verticais) porque o monitor agora deve ser desligado.
Se PathPoweredOff estiver definido como FALSE, o caminho da topologia será ativado. O driver de miniporto de exibição deve programar hardware para operações atuais baseadas no antigo caminho de topologia e o driver deve confirmar hardware para dar suporte a esse caminho de topologia. Definir esse membro é equivalente a definir o segundo bit de um valor de 32 bits (0x00000002).
Para obter mais informações, consulte a seção Comentários a seguir.
Reserved
Esse membro é reservado e deve ser definido como zero. Definir esse membro como zero é equivalente a definir os 30 bits restantes (0xFFFFFFFC) de um valor de 32 bits como zeros.
Observações
A estrutura DXGKARG_COMMITVIDPN_FLAGS armazena informações que o driver de miniporto de exibição pode usar para determinar como responder às alterações de modo solicitadas. Com essas informações, o driver pode distinguir entre as alterações de modo que ocorrem durante a atividade regular porque um aplicativo solicitou uma alteração de modo, alterações que ocorrem devido a transições de energia e alterações que ocorrem enquanto os monitores estão desativados.
Durante a atividade regular, quando a função DxgkDdiCommitVidPn for chamada, membros PathPowerTransition e PathPoweredOff serão FALSE para que o driver aplique alterações de modo imediatamente. Essas alterações de modo geralmente são executadas como eventos isolados. Portanto, não é necessário que o driver rastreie qualquer estado associado à configuração do modo anterior.
Se os monitores estiverem sendo desativados ou ativados, pathPowerTransition serão verdadeiro para indicar uma transição de energia. Nesse caso, um padrão comum é que os monitores serão desativados e, em algum momento posterior, a configuração original será restaurada. Pode ser uma carga de trabalho significativa para o driver redefinir completamente a configuração de exibição após um desligamento do sistema. Além disso, o driver deve continuar a concluir operações de DxgkDdiPresent enquanto os monitores estão desativados. No entanto, o driver pode reduzir sua carga de trabalho quando uma chamada é feita para DxgkDdiCommitVidPn, certificando-se de que os monitores envolvidos estão desligados. Quando a energia for restaurada, a carga de trabalho do driver para restaurar a configuração de exibição será reduzida.
Como o monitor pode não estar fisicamente conectado (no momento da retomada do sistema, por exemplo), o driver não deve contar com o Windows para fazer uma chamada posterior à função DxgkDdiSetPowerState para definir o estado de energia do dispositivo filho do adaptador de exibição. No entanto, o Windows ainda solicitará que o CRTC seja ativado. Se o driver não ativar a sincronização vertical quando for solicitado a fazê-lo pelo DMM (gerenciador de modo de exibição) e, se o usuário reconectar o monitor mais tarde, a exibição do monitor poderá ficar em branco.
operações de DxgkDdiPresent ainda devem ser respeitadas pelo driver enquanto os monitores estão desativados. O driver pode ter que agir após uma alteração de modo disparada por um aplicativo, por exemplo, para executar modificações no pipeline de renderização para considerar as alterações de rotação. As configurações de PathPowerTransition = FALSE e PathPoweredOff = VERDADEIRO informar ao driver que essa alteração de modo ocorreu. Nesse caso, o driver não deve ativar os monitores, mas, em vez disso, deve reprogramar o hardware, se necessário, para acomodar a alteração de modo para que as operações de DxgkDdiPresent adicionais possam ser concluídas. Quando essa alteração de modo for executada e os monitores forem ativados posteriormente, é improvável que o modo que ocorreu antes da queda de energia seja restaurado.
Se uma operação de retomada do sistema for disparada depois que os monitores foram desativados para uma operação de suspensão do sistema, O driver pode receber uma chamada DxgkDdiCommitVidPn com PathPowerTransition = FALSE e PathPoweredOff = FALSE antes que uma chamada DxgkDdiCommitVidPn seja feita com PathPowerTransition = TRUE. Essa situação só deve ocorrer com uma topologia vazia e, nesse caso, o driver não deve ativar os monitores novamente porque a transição de energia ainda não foi concluída.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |