estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS (d3dkmddi.h)

A estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS identifica o tipo específico de operação a ser executada em uma chamada para as funções DxgkDdiSetVidPnSourceAddress ou DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay .

Sintaxe

typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange : 1;
      UINT FlipImmediate : 1;
      UINT FlipOnNextVSync : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT SharedPrimaryTransition : 1;
      UINT IndependentFlipExclusive : 1;
      UINT MoveFlip : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 29;
#endif
    };
         UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

Membros

ModeChange

Um valor UINT que especifica para o driver alternar o modo de exibição.

Definir esse membro é equivalente a definir o primeiro bit do membro Value de 32 bits (0x00000001).

FlipImmediate

Um valor UINT que especifica para o driver executar uma operação de inversão que ocorre sem sincronização vertical.

Definir esse membro é equivalente a definir o segundo bit do membro Value de 32 bits (0x00000002).

FlipOnNextVSync

Um valor UINT que especifica para o driver executar uma operação de inversão que ocorre na próxima sincronização vertical.

Definir esse membro é equivalente a definir o terceiro bit do membro Value de 32 bits (0x00000004).

[in] FlipStereo

Com suporte a partir de Windows 8.

Especifica se o driver inverte as imagens esquerda e direita de uma alocação estéreo.

Se o membro FlipOnNextVSync da estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS estiver definido, o driver concluirá a inversão para a imagem à esquerda no próximo VSync e concluirá a inversão para a imagem à direita no VSync a seguir.

Se o membro FlipImmediate da estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS estiver definido, o driver começará imediatamente a verificar a partir da nova alocação. Por exemplo, se o driver estava verificando uma imagem correta, ele inicia a nova verificação do mesmo deslocamento relativo na imagem certa da nova alocação.

Os membros FlipStereo e FlipStereoTemporaryMono não podem ser definidos ao mesmo tempo.

Para obter mais requisitos, consulte a seção Comentários.

Definir esse membro é equivalente a definir o quarto bit do membro Value de 32 bits (0x00000008).

[in] FlipStereoTemporaryMono

Com suporte a partir de Windows 8.

Especifica se o driver usa a imagem esquerda de uma alocação estéreo para as partes direita e esquerda de um quadro estéreo. O driver executa a mesma operação presente que com o FlipStereo, exceto que ele verifica apenas da imagem esquerda para produzir ambas as imagens de um quadro estéreo.

Esse membro só deverá ser definido se o driver relatar suporte para essa opção no modo de exibição atual definindo o membro Type da estrutura D3DKMDT_VIDPN_SOURCE_MODE como D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

Os membros FlipStereo e FlipStereoTemporaryMono não podem ser definidos ao mesmo tempo.

Os membros FlipStereoTemporaryMono e FlipStereoPreferRight não podem ser definidos ao mesmo tempo.

Para obter mais requisitos, consulte a seção Comentários.

Definir esse membro é equivalente a definir o quinto bit do membro Value de 32 bits (0x00000010).

[in] FlipStereoPreferRight

Com suporte a partir de Windows 8.

Especifica que quando o driver clona uma alocação primária estéreo para um monitor mono, ele usa a imagem correta.

Os membros FlipStereoTemporaryMono e FlipStereoPreferRight não podem ser definidos ao mesmo tempo.

Para obter mais requisitos, consulte a seção Comentários.

Definir esse membro é equivalente a definir o sexto bit do membro Value de 32 bits (0x00000020).

[in] SharedPrimaryTransition

Com suporte a partir de Windows 8.

Especifica que o driver está fazendo a transição para ou de uma alocação primária gerenciada compartilhada.

Esse membro será definido se uma das seguintes transições ocorrer:

  • A alocação primária atual não é uma alocação primária compartilhada, mas a nova é.
  • A alocação primária atual é uma alocação primária compartilhada, mas a nova não é.
Quando SharedPrimaryTransition está definido, o driver de miniporto de exibição deve validar se o hardware pode alternar perfeitamente entre alocações primárias e primárias compartilhadas e deve executar qualquer programação de hardware necessária para que a opção perfeita ocorra.

Definir esse membro é equivalente a definir o sétimo bit do membro Value de 32 bits (0x00000040).

[in] IndependentFlipExclusive

Com suporte a partir de Windows 10.

Quando IndependentFlipExlusive é definido, a inversão é feita no modo exclusivo de inversão independente. O buffer frontal é acessado apenas pelo hardware de exibição (não pelo DWM) e o driver do modo kernel pode aplicar otimizações verticais relacionadas à sincronização.

[in] MoveFlip

Com suporte a partir de Windows 10.

Quando MoveFlip é definido, o driver é notificado para usar qualquer estado que tenha sido salvo da inversão anterior para configurar a nova solicitação de verificação.

[in] Reserved

Esse membro é reservado e deve ser definido como zero. Definir esse membro como zero é equivalente a definir os 23 bits restantes (0xFFFFFF00) do membro Value de 32 bits como zeros.

Value

Um membro na união que DXGK_SETVIDPNSOURCEADDRESS_FLAGS contém que pode conter um valor de 32 bits que identifica o tipo de operação.

Comentários

Se qualquer um dos membros FlipStereo, FlipStereoTemporaryMono ou FlipStereoPreferRight estiver definido, essas condições se aplicarão:

  • O membro hAllocation da estrutura DXGKARG_SETVIDPNSOURCEADDRESS aponta para uma alocação criada com o membro Stereo definido no membro Flags da estrutura D3DKMT_DISPLAYMODE .
  • Os membros PrimarySegment e PrimaryAddress de DXGKARG_SETVIDPNSOURCEADDRESS apontam para o endereço físico inicial da alocação.
  • O driver respeita as configurações dos membros FlipImmediate e FlipOnNextVSync da estrutura DXGK_SETVIDPNSOURCEADDRESS_FLAGS .
Começando com Windows 8, o driver de miniporto de exibição pode falhar em uma chamada para a função DxgkDdiSetVidPnSourceAddress, retornando STATUS_INVALID_PARAMETER, quando o membro SharedPrimaryTransition é definido em sinalizadores pSetVidPnSourceAddress->. No entanto, essa falha não é esperada, a menos que haja um erro na implementação do driver de modo de usuário da função CheckDirectFlipSupport ou no DWM (Gerenciador de Janelas da Área de Trabalho). Se essa falha ocorrer, o sistema operacional não fará failback contínuo para o modo de composição e a apresentação estará incorreta.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Cabeçalho d3dkmddi.h (inclua D3dkmddi.h)

Confira também

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay