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 de elementos gráficos 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 ligado 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 miniporta de exibição deve programar hardware para as operações atuais baseadas no caminho da topologia anterior e o driver deve confirmar o 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.
Comentários
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, os 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 acompanhe qualquer estado associado à configuração do modo anterior.
Se os monitores estiverem sendo desativados ou ativados, PathPowerTransition será TRUE 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 as operações 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 depender do Windows para fazer uma chamada posterior à função DxgkDdiSetPowerState para definir o estado de energia do dispositivo filho do adaptador de vídeo. 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 fazer isso pelo DMM (gerenciador de modo de exibição) e, se o usuário reconectar o monitor posteriormente, a exibição do monitor poderá estar em branco.
As operações DxgkDdiPresent ainda devem ser respeitadas pelo driver enquanto os monitores estão desativados. O driver pode ter que agir em 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 = TRUE informam ao driver que essa alteração de modo ocorreu. Nesse caso, o driver não deve ativar os monitores, mas deve reprogramar o hardware, se necessário, para acomodar a alteração de modo para que operações adicionais DxgkDdiPresent possam ser concluídas. Quando essa alteração de modo for executada e os monitores forem posteriormente ativados, é improvável que o modo que ocorreu antes da desligar seja restaurado.
Se uma operação de retomada do sistema for disparada depois que os monitores forem desativados para uma operação de suspensão do sistema, o driver poderá 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 |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |